{"problem":{"name":"E. Рождественский подарок","description":{"content":"_Это интерактивная задача. Здесь ваша программа должна по мере решения обмениваться информацией с программой жюри. Обратите внимание, что после вывода каждого сообщения ваша программа должна очищать п","description_type":"Markdown"},"platform":"Codeforces","limit":{"time_limit":2000,"memory_limit":262144},"difficulty":"None","is_remote":true,"is_sync":true,"sync_url":null,"sign":"CF10120E"},"statements":[{"statement_type":"Markdown","content":"_Это интерактивная задача. Здесь ваша программа должна по мере решения обмениваться информацией с программой жюри. Обратите внимание, что после вывода каждого сообщения ваша программа должна очищать потоковый буфер, чтобы выведенная вами информация дошла до программы жюри: например, это делают вызовы «fflush(stdout)» или «cout.flush()» в C++, «System.out.flush()» в Java, «flush(output)» в Pascal, «sys.stdout.flush()» в Python._\n\nЕсли вы еще не знали, NC обожает Рождество. Его бесконечная любовь к этому празднику способна преодолевать световые барьеры, искривлять течение времени и производить взрывы, разрушающие целые галактики. \n\nОдна из самых важных вещей для NC в Рождество - это подарки. Ему стало известно, что Тамара и Малкольм спрятали его подарок где-то на заднем дворе. NC просто обязан проверить свой подарок до Рождества, ведь если подарок окажется не идеальным, то весь праздник будет испорчен! (Но еще есть время избить Тамару и Малкольма молотком и заставить их подарить NC на Рождество что-то действительно стоящее).\n\nЗадний двор представляет из себя прямоугольное поле, левый нижний конец которого находится в точке (0, 0), а правый верхний в точке (n, m), таким образом размер поля (n + 1) × (m + 1). К счастью, у NC есть Интерактивный Отыскатель Подарков — устройство, позволяющее определить расстояние от любой точки до подарка. Интерактивный Отыскатель работает следующим образом: NC называет ему точку (x, y), а Отыскатель возвращает ему единственное число, равное |x - X| + |y - Y|, где (X, Y) - место нахождения подарка. До Рождества осталось мало времени, поэтому NC успеет сделать *не более чем 10 запросов.*\n\nNC очень взволнован что может не успеть найти подарок до Рождества, поэтому он просит вас помочь ему!\n\nВ первой строке содержатся два целых числа n и m (0 ≤ n ≤ 109, 0 ≤ m ≤ 109).\n\nПосле каждого запроса вашей программы программа жюри выводит единственное число, равное расстоянию от запрошенной вами точки до подарка как описано в условии задачи.\n\nКаждый запрос должен состоять из знака вопроса (_?_), после которого через пробел необходимо вывести ровно два целых числа x и y (0 ≤ x ≤ n,  0 ≤ y ≤ m) — точка, расстояние от которой до подарка вы хотите узнать. \n\nЕсли вы уверены что нашли точку, в которой находится подарок, вы должны вывести ответ и завершить работу программы. Вывод ответа должен начинаться с восклицательного знака (_!_), после которого через пробел должны быть выведены два целых числа X и Y (0 ≤ X ≤ n,  0 ≤ Y ≤ m). *Вывод ответа учитывается в общем числе запросов*.\n\nЕсли ваш запрос не будет удовлетворять описанным ограничениям, то Интерактивный Отыскатель Подарков сломается, вы не найдете подарок, Рождество будет испорчено, а ваша программа получит вердикт Wrong Answer. \n\nНапоминаем, что после каждого запроса и вывода ответ следует очищать потоковый буфер.\n\nСтроки «запрос участника» и «ответ системы» в примере приведены лишь для того, чтобы было более понятно, в каком порядке выводятся сообщения. При решении задачи вам не нужно выводить эти строки, программа жюри также не будет выводить такие строки.\n\n## Входные Данные\n\nВ первой строке содержатся два целых числа n и m (0 ≤ n ≤ 109, 0 ≤ m ≤ 109).После каждого запроса вашей программы программа жюри выводит единственное число, равное расстоянию от запрошенной вами точки до подарка как описано в условии задачи.\n\n## Выходные Данные\n\nКаждый запрос должен состоять из знака вопроса (_?_), после которого через пробел необходимо вывести ровно два целых числа x и y (0 ≤ x ≤ n,  0 ≤ y ≤ m) — точка, расстояние от которой до подарка вы хотите узнать. Если вы уверены что нашли точку, в которой находится подарок, вы должны вывести ответ и завершить работу программы. Вывод ответа должен начинаться с восклицательного знака (_!_), после которого через пробел должны быть выведены два целых числа X и Y (0 ≤ X ≤ n,  0 ≤ Y ≤ m). *Вывод ответа учитывается в общем числе запросов*.Если ваш запрос не будет удовлетворять описанным ограничениям, то Интерактивный Отыскатель Подарков сломается, вы не найдете подарок, Рождество будет испорчено, а ваша программа получит вердикт Wrong Answer. Напоминаем, что после каждого запроса и вывода ответ следует очищать потоковый буфер.\n\n## Примеры\n\nВходные данные2 2ответ системы:1ответ системы:3ответ системы:0Выходные данныезапрос участника:? 1 1запрос участника:? 2 0запрос участника:? 1 2запрос участника:! 1 2Входные данные1 2ответ системы:1ответ системы:1ответ системы:2Выходные данныезапрос участника:? 1 1запрос участника:? 0 2запрос участника:? 0 1запрос участника:! 1 2\n\n## Примечание\n\nСтроки «запрос участника» и «ответ системы» в примере приведены лишь для того, чтобы было более понятно, в каком порядке выводятся сообщения. При решении задачи вам не нужно выводить эти строки, программа жюри также не будет выводить такие строки.\n\n[samples]","is_translate":false,"language":"English"},{"statement_type":"Markdown","content":"**Definitions**  \nLet $ n, m \\in \\mathbb{Z} $ with $ 0 \\leq n, m \\leq 10^9 $.  \nLet $ (X, Y) \\in \\{0, 1, \\dots, n\\} \\times \\{0, 1, \\dots, m\\} $ be the unknown target point (gift location).  \nThe distance function is the Manhattan distance: $ d(x, y) = |x - X| + |y - Y| $.\n\n**Constraints**  \n- You may make at most 10 queries.  \n- Each query: output `? x y` with $ 0 \\leq x \\leq n $, $ 0 \\leq y \\leq m $.  \n- Upon discovery, output `! X Y` and terminate.  \n- All queries and final answer must be within bounds.\n\n**Objective**  \nIdentify $ (X, Y) $ using at most 10 Manhattan distance queries.","is_translate":false,"language":"Formal"}],"meta":{"iden":"CF10120E","tags":[],"sample_group":[],"created_at":"2026-03-03 11:00:39"}}