Задача I. Interactive increment

Автор:A. Usmanov   Ограничение времени:1 сек
Ввод / вывод:интерактивный   Ограничение памяти:256 Мб

Условие

Данная задача является интерактивной.

Жюри загадало секретное целое число X, состоящее из ровно N бит. Известно, что в этом числе есть K единичных бит (и N − K нулевых бит). Ваша программа может делать запросы вида "+ Y", которые к текущему значению числа X будет прибавляют целое число Y. При этом биты старше N-о отбрасываются, то есть выполняется операция вида X = (X + Ymod 2N.

На каждый запрос программа жюри отвечает количеством единичных бит в текущем значении X. Требуется определить текущее значение числа X, сделав не более ⌊ N2 запросов.

Формат входных данных

В первой строке входных данных записано два целых числа N и K — общее количество бит в числе и количество единичных бит в начальном значении соответственно.

Протокол взаимодействия

Чтобы сделать запрос, ваша программа должна вывести "+ Y", где Y — целое число, которое нужно прибавить к X. На каждый запрос программа жюри ответит целым числом — количеством единичных бит в числе X после выполнения запроса.

Когда ваша программа определит текущее значение X, она должна вывести "! X" и завершиться.

Если ваша программа сделает недопустимый запрос, то она получит вердикт "Presentation error". Если ваша программа превысит допустимое количество запросов, то она получит вердикт "Wrong answer".

Каждый запрос и вывод окончательного результата должен быть одиночной строкой заканчивающейся одиночным переводом строки (\n). Буфер вывода необходимо сбрасывать после каждой строки:

Язык C++ Pascal Java Python
Код cout.flush() flush(output) System.out.flush() stdout.flush()

Ограничения

1 ≤ N ≤ 60

0 ≤ K ≤ N

0 ≤ X, Y < 2N

Пояснение к примерам

В первом примере было загадано число 13 (1101 в двоичной системе счисления). После выполнения первого запроса получилось (13 + 9mod 16 = 6 (01102). После выполнения второго запроса получилось (6 + 9mod 16 = 15 (11112).

Примеры тестов

Стандартный вход Стандартный выход
1
4 3 

2

4

+ 9

+ 9

! 15
2
2 2

! 3

0.092s 0.020s 13