I. Круговой марафон
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

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

Антона позвали в другой город, поэтому про стадион, на котором он собирается бежать, ему ничего не известно (даже примерно). Чтобы скрасить свое участие в этом довольно скучном событии, он поставил перед собой задачу — узнать длину кругового участка стадиона.

Опыт Антона в забегах позволяет ему с высокой точностью отмерять расстояние и пробегать ровно $$$k$$$ метров по треку. Но памятью наш бегун похвастаться не может. Единственное, что он в силах запомнить — это сколько кругов он уже пробежал.

Антон предлагает вам скооперироваться, а именно помочь ему узнать длину беговой дорожки стадиона за не более чем 100 продвижений по треку.

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

Взаимодействие происходит с помощью запросов.

Вы можете просить Антона пробежать на $$$k$$$ метров вперёд с помощью запроса «run k» ($$$1 \leq k \leq 10^9$$$). В ответ на такой запрос вы получите единственное число — количество кругов, которое он уже пробежал, включая текущий запрос. Круг считается завершённым, если бегун пробегает стартовую точку или находится в ней.

Гарантируется, что длина участка — положительное целое число, не превышающее $$$10^9$$$.

Если вы готовы указать длину кругового участка, то вы можете убедиться в его правильности с помощью запроса «ensure s». После такого запроса программа должна немедленно завершиться.

При превышении количества запросов (более 100) вы получите вердикт «Wrong answer» (при условии завершения работы программы).

Ваше решение может получить вердикт «Idleness limit exceeded», если вы ничего не выводите или забываете сбросить буфер вывода.

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

  • cout.flush() или fflush(stdout) в C++;
  • stdout.flush() в Python;
  • flush(output) в Pascal;
  • см. документацию других языков.
Пример
Входные данные

1

1

2

3
Выходные данные
run 5

run 2

run 4

run 1

ensure 4