Keep Talking and Nobody Explodes
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Название задачи является отсылкой на изветную игру (мало ли кто не понял).

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

Роберт Оппенгеймер готовится к испытанию «Тринити». Для этого ему необходимо очень точно настроить мощность ядерной бомбы, чтобы не произошли непредвиденные реакции. Максимальная мощность, при которой испытание будет успешным, равна $$$p$$$ — при любом большем значении запуск бомбы, скорее всего, приведет к катастрофическим последствиям.

Однако значение $$$p$$$ Роберту неизвестно. Известно только, что $$$2 \le p < 10^{12}$$$. Для того, чтобы найти значение $$$p$$$, Роберт может провести ряд тестов, а также попросить совет у известных ученых, например, у Альберта Эйнштейна.

  1. Чтобы попросить совет, Роберт может назвать любое целое число $$$t$$$ до $$$10^6$$$, и получить в ответ информацию о том, лежит ли $$$t$$$ в интервале от $$$\sqrt{p}$$$ не включительно до $$$p$$$ включительно.
  2. Если Роберт проводит эксперимент, он также выбирает целое число $$$t$$$ до $$$10^{12}$$$, и
    • если $$$t > p$$$, эксперимент приводит к случайному срабатыванию тестового образца, в результате чего, скорее всего, много людей пострадают, а лаборатория будет разрушена;
    • если $$$t \le p$$$, то эксперимент проводится успешно, и в результате эксперимента Роберт получает равномерно распределенное случайное число из отрезка $$$\left[\frac{p}{t}, \frac{p^2}{t^2}\right]$$$.

Сможете ли вы решить эту задачу не медленнее Оппенгеймера? В зависимости от $$$p$$$ он умеет решать ее не более, чем за $$$20$$$ запросов. Но поскольку Оппенгеймер все-таки был гением, вам разрешается сделать на два запроса больше.

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

В этой задаче нет входных данных.

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

Ваш протокол взаимодействия с интерактором заключается в обмене запросами и ответами на них.

  1. Для того, чтобы совершить запрос первого типа («попросить совет»), выведите «ADVICE $$$t$$$», где $$$t$$$ — выбранное для этого совета число от $$$1$$$ до $$$10^6$$$. В ответ на этот запрос интерактор вернет вам ответ «YES», если $$$\sqrt{p} < t \le p$$$, и «NO» иначе.
  2. Для того, чтобы провести эксперимент с мощностью $$$t$$$, выведите «EXPERIMENT $$$t$$$», где $$$t$$$ должно лежать от $$$1$$$ до $$$10^{12}$$$ включительно, и
    • если $$$t \le p$$$, интерактор вернет вам ответ в формате «OK $$$x$$$», где $$$x$$$ — равновероятно выбранное из отрезка $$$\left[\frac{p}{t}, \frac{p^2}{t^2}\right]$$$ число с плавающей точкой с хотя бы $$$18$$$ знаками после точки;
    • иначе, интерактор напечатает «BOOM» и завершится с вердиктом WA (Wrong Answer).
  3. Для того, чтобы сообщить, что вы выяснили значение числа $$$p$$$, выведите «SUCCESS $$$p$$$», указав определенное вами значение $$$p$$$. Тогда
    • если указанное значение верное, интерактор вернет вам ответ строку «OK» и завершится;
    • иначе, интерактор напечатает «BOOM» и завершится с вердиктом WA (Wrong Answer).

После каждой выведенной строки не забывайте сбросить буфер вывода (cout.flush() в C++, System.out.flush() в Java и sys.stdout.flush() в Python). Если ваша программа не сбрасывает буфер вывода, либо не завершается после завершения интерактора (с любым вердиктом), она может получить вердикты TL или IL.

Если ваша программа совершает больше $$$22$$$ запросов первого и второго типа, интерактор, как и в остальных случаях ошибки, выведет «BOOM» и завершится с вердиктом WA. Если же вы верно узнаете $$$p$$$ за $$$a_p \le 22$$$ запросов, но авторское решение делает $$$a_j < a_p - 2$$$ запросов, вы все равно получаете вердикт WA.

Примеры

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

NO

OK 2.612136477990739891

OK 1.000000000000000000

OK

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

EXPERIMENT 1

EXPERIMENT 2

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

OK 7390019438.576070785522460938

YES

OK 1.836419809778194523

NO

YES

OK 1.001041327128544323

OK 1.000000000000000000

OK
Выходные данные
EXPERIMENT 2

ADVICE 200000

EXPERIMENT 200000

ADVICE 31000

ADVICE 31100

EXPERIMENT 310500

EXPERIMENT 310771

SUCCESS 310771