Задача №115450. Шахматный слон
Это интерактивная задача.
Шахматная доска \(8 \times 8\) занумерована стандартным способом: горизонтали — цифрами от 1 до 8, вертикали — строчными латинскими буквами от ' a ' до ' h ' так, что левый нижний угол — a1 , а правый верхний — h8 .
На шахматной доске находится шахматный слон, изначальная позиция которого неизвестна. Слон может перемещаться на любое число полей по диагонали, оставаясь в пределах доски. Ход слона задаётся следующим образом: сначала указывается смещение по горизонтали \(x\) (положительные значения — вправо), затем — смещение по вертикали \(y\) (положительные значения — вверх).
Если ход сделать удалось, слон перемещается на новое поле, и программа жюри выдаёт строку, состоящую из одного символа ' + '. Если же поле назначения находится за пределами доски, слон остаётся на месте, и программа жюри выдаёт строку, состоящую из одного символа ' - '.
Ваша задача — определить изначальную позицию слона, сделав не более 7-и попыток хода (удачных или неудачных).

На рисунке показана шахматная доска с шахматной нотацией. Слон расположен на поле e7 . Направления возможных ходов показаны стрелками.
Взаимодействие начинает программа участника выводом запроса. Каждый запрос имеет вид « ? \(x\) \(y\)», где \(x\) и \(y\) — целые числа и \(|x| = |y|\); \(1 \le |x|, |y| \le 7\). В ответ на запрос программа жюри выдаёт строку, состоящую из символа ' + ', если ход сделать удалось, и ' - ', если ход сделать не удалось.
Когда программа участника готова вывести ответ, она вместо запроса должна вывести « ! \(pos\) », где \(pos\) — изначальная позиция слона, заданная в стандартной шахматной нотации. После этого программа должна завершить своё исполнение.
В примере ввода/вывода запросы программы участника и ответы программы жюри отформатированы пустыми строками, чтобы было видно, какой ответ соответствует какому запросу. В реальном взаимодействии программ участника и жюри пустых строк не будет.
e7
e7