Представьте себе замкнутую по окружности железную дорогу и поезд, последний вагон которого скреплен с первым так, что внутри можно перемещаться между вагонами. Вы оказались в случайном вагоне и желаете определить количество вагонов N (1 ≤ N ≤ 10 000). В каждом вагоне можно менять положение переключателя света, но начальное состояние переключателей случайное и заранее неизвестно.
Протокол взаимодействия
Вы можете делать следующие запросы программе жюри:
switch – изменение состояние переключателя света в текущем вагоне;
front – перемещение в следующий вагон;
back – перемещение в предыдущий вагон;
N – вывод ответа, где N – целое число (количество вагонов в поезде).
После каждого запроса (кроме последнего) вашей программе будет сообщено состояние переключателя света в том вагоне, в котором вы оказались: «on» - если свет горит и «off» – иначе. Последним запросом должен быть вывод целого числа N, после чего ваша программа должна немедленно завершиться. На момент подачи любой команды модуль разности между количеством поданных команд front и количеством поданных команд back не должен превышать 3×N.
Пример
№
стандартный ввод
стандартный вывод
1
on
off
on
off
on
off
switch
front
front
switch
front
back
3
Пояснение к примеру
В поезде 3 вагона. Предположим, что мы находимся в первом вагоне. Свет горит только в третьем вагоне. Сначала мы включаем свет в первом вагоне, перемещаемся во второй, затем в третий и выключаем в нем свет. После чего движемся вперед, попадаем в первый вагон, движемся назад, попадаем в последний третий вагон и выводим ответ. Заметим, что на основании выполненных в примере запросов нельзя утверждать, что в поезде 3 вагона.
Примечание
Для корректной работы программы после каждой операции вывода данных выводите перевод строки, а также очищайте буфер вывода. Очистка буфера вывода производится следующим образом:
В языке Pascal: flush(output)
В С/С++: fflush(stdout) или cout.flush()
В Java: System.out.flush()
В Python: sys.stdout.flush() из библиотеки sys
В C# и Basic: Console.Out.Flush()
Система оценивания
Решения, работающие только для N ≤ 100 будут оцениваться в 60 баллов.
Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!