D. Ехаб и еще одна очередная задача на xor
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Это интерактивная задача!

Ехаб играет в игру с Лагги. Ехаб имеет два загаданных числа $$$(a,b)$$$. Лагги может сказать пару чисел $$$(c,d)$$$ и Ехаб ответит:

  • 1 если $$$a \oplus c>b \oplus d$$$.
  • 0 если $$$a \oplus c=b \oplus d$$$.
  • -1 если $$$a \oplus c<b \oplus d$$$.

Операция $$$a \oplus b$$$ обозначает операцию побитовое исключающее «ИЛИ» чисел $$$a$$$ и $$$b$$$.

Лагги нужно угадать $$$(a,b)$$$ не более, чем за 62 вопроса. Вам предлагается сыграть в эту игру. Вы играете за Лагги, а программа жюри - за Ехаба.

Гарантируется, что $$$0 \le a,b<2^{30}$$$.

Входные данные

См. протокол взаимодействия.

Выходные данные

Чтобы вывести ответ, выведите "! a b" (без кавычек). Не забудьте сбросить буфер вывода после того, как выведете ответ.

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

Чтобы задать вопрос, выведите "? c d" (без кавычек). $$$c$$$ и $$$d$$$ должны быть неотрицательными целыми числами, меньшими $$$2^{30}$$$. Не забудьте сбросить буфер вывода после того, как зададите вопрос.

После каждого вопроса вы должны считать ответ. Если программа жюри отвечает числом -2, это значит, что ваша программа задала больше, чем 62 запроса и должна завершиться.

Чтобы сбросить буфер вывода вы можете использовать:

  • fflush(stdout) в C++.
  • System.out.flush() в Java.
  • stdout.flush() в Python.
  • flush(output) в Pascal.
  • Прибегните к документации других языков.

Взломы:

Чтобы взломать решение другого участника, выведите два целых числа $$$a$$$ и $$$b$$$ $$$(0 \le a,b<2^{30})$$$.

Пример
Входные данные
1
-1
0
Выходные данные
? 2 1
? 1 2
? 2 0
! 3 1
Примечание

В примере из условия:

Загаданные числа: $$$a=3$$$, $$$b=1$$$.

В первом вопросе: $$$3 \oplus 2 = 1$$$ и $$$1 \oplus 1 = 0$$$, и ответ равен 1.

Во втором вопросе: $$$3 \oplus 1 = 2$$$ и $$$1 \oplus 2 = 3$$$, и ответ равен -1.

В третьем вопросе: $$$3 \oplus 2 = 1$$$ и $$$1 \oplus 0 = 1$$$, и ответ равен 0.

После этого программа выводит ответ и завершается.