Это интерактивная задача.
Мы решили сыграть с вами в игру и загадали число \(x\) (\(1 \le x < n\)), где число \(n\) вам известно.
Вы можете делать запросы следующего вида:
- + c: эта команда осуществляет присвоение \(x = x + c\) (\(1 \le c < n\)), а затем возвращает вам значение \(\lfloor\frac{x}{n}\rfloor\) (\(x\) делить на \(n\) и округлить вниз).
Вы победите, если угадаете текущее число, сделав не больше \(10\) запросов.
Протокол взаимодействия
Взаимодействие начинается с чтения целого числа \(n\) (\(2 < n \le 1000\)), которое записано во входных данных на отдельной строке.
Далее вы можете сделать не более \(10\) запросов. Чтобы сделать запрос выведите в отдельной строке:
- + c: эта команда выполнит присвоение \(x = x + c\) (\(1 \le c < n\)), а затем в отдельной строке выведет значение \(\lfloor\frac{x}{n}\rfloor\) (\(x\) делить на \(n\) и округлить вниз).
Ответ, как и запросы, выведите в отдельной строке. Вывод ответа не считается запросом при подсчёте их количества. Чтобы вывести его используйте следующий формат:
- ! x: текущее значение \(x\).
После этого ваша программа должна завершить работу.
После вывода очередного запроса обязательно используйте функции очистки потока, чтобы часть вашего вывода не осталась в каком-нибудь буфере. Например, на С++ надо использовать функцию fflush(stdout), на Java вызов System.out.flush(), на Pascal flush(output) и stdout.flush() для языка Python.
Обратите внимание, что интерактор не является адаптивным.
Чтобы сделать взлом, используйте следующий формат: в единственной строке должны содержаться два числа \(x\) и \(n\), разделённые пробелом.
Примечание
В первом примере изначально \(x = 2\). После первого запроса значение \(x = 3\), а \(\lfloor\frac{x}{n}\rfloor = 1\).
Во втором примере также изначально \(x = 2\). После первого запроса значение \(x = 3\), а \(\lfloor\frac{x}{n}\rfloor = 0\). После второго — \(x = 4\), \(\lfloor\frac{x}{n}\rfloor = 0\). После третьего \(x=5\), \(\lfloor\frac{x}{n}\rfloor = 1\).