D. Заглавные или строчные?
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

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

В некой базе данных хранятся $$$n$$$ хэндлов в виде пронумерованного списка. Вас интересует один определенный хэндл $$$h$$$, а точнее, его позиция в данном списке.

Вы можете спросить у базы позицию $$$i$$$ из списка, и она вернет вам хэндл, находящийся на $$$i$$$-й позиции.

Все хэндлы — это непустые строки, состоящие из не более $$$20$$$ строчных букв латинского алфавита, за исключением первой буквы, которая также может быть заглавной буквой латинского алфавита.

Вы знаете, что все хэндлы отсортированы в лексикографическом порядке, но проблема в том, что неизвестно, считаются ли заглавные буквы меньше строчных. Другими словами, вы не знаете, правда ли, что сначала идут все хэндлы, начинающиеся с заглавных букв, а потом со строчных. Или же наоборот, сначала идут все хэндлы, начинающиеся со строчных букв, а только потом с заглавных.

Лексикографический порядок — это порядок стандартного сравнения строк, формально определяемый следующим образом:

  • если у строк $$$s$$$ и $$$t$$$ первая позиция отличия $$$i$$$, то строка $$$s$$$ раньше строки $$$t$$$ в лексикографическом порядке тогда и только тогда, когда $$$s_i \lt t_i$$$ (например, у строк cats и current первая позиция отличия — $$$2$$$, и символ a меньше символа u, поэтому cats меньше current);
  • если же у строк $$$s$$$ и $$$t$$$ нет ни одной позиции отличия, то более короткая из них идет раньше. Например, строка cat идет раньше строки cats.

Из-за проблем с доступом к базе данных вы можете сделать не более $$$10$$$ запросов к ней. Определите, на какой позиции стоит интересующий вас хэндл, если известно, что он точно есть в списке.

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

В первой строке заданы число $$$n$$$ и строка $$$h$$$ ($$$1 \le n \le 500$$$) — общее количество хэндлов в списке и хэндл, который вы ищете.

Гарантируется, что все хэндлы — это непустые строки длиной не более $$$20$$$ символов, состоящие только из строчных букв латинского алфавита, за исключением первой буквы, которая может быть заглавной.

Также гарантируется, что все хэндлы отсортированы, уникальны, и искомый хэндл точно содержится в списке.

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

Чтобы задать вопрос, выведите строку в следующем формате (без кавычек):

  • «? i» ($$$1 \le i \le n$$$)

Жюри вернёт строку $$$s$$$ — хэндл на $$$i$$$-й позиции в списке.

Когда вы будете готовы напечатать ответ, выведите одну строку в следующем формате (без кавычек):

  • «! i» ($$$1 \le i \le n$$$)
и завершите программу. Печать ответа не считается запросом.

Интерактор не адаптивен, что означает, что в каждом тесте список хэндлов является фиксированным.

Если ваша программа сделает более $$$10$$$ запросов (без учета ответа) или нарушит формат запросов, жюри ответит строкой «-1». В таком случае ваша программа должна немедленно завершиться, чтобы получить вердикт Неправильный ответ. В противном случае вы можете получить произвольный вердикт, потому что ваше решение продолжит читать из закрытого потока.

После печати запроса не забудьте вывести конец строки и сбросить вывод. В противном случае вы можете получить вердикт Решение «зависло». Для этого используйте System.out.flush().

Примеры
Входные данные
4 adedalic

Bleddest

Neon

adedalic

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

? 1

? 2

? 3

? 4

! 3
Входные данные
6 tourist

jiangly

tourist

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

? 1

? 3

? 6

! 3
Примечание

Обратите внимание, что пробелы в примерах добавлены только для улучшения читаемости. При проверке решений интерактор пустых строк выводить не будет.