| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 6 초 | 1024 MB | 5 | 4 | 3 | 100.000% |
Наверное, многие видели в фильмах как люди используют для спиритических сеансов доску уиджа. Стоит только задать вопрос, и кто-нибудь с той стороны обязательно ответит, двигая указатель по буквам на доске вашими пальцами. Это достаточно опасная затея, но, к сожалению, не все подходят к ней достаточно серьезно.
В один не очень прекрасный вечер два друга нашли уиджа на чердаке, и решили с ней поиграть. Для этого они расчертили на ней клетчатое поле $n \times m$ и приклеили указатель к левой верхней клетке доски.
Затем друзья по очереди делали ходы. Каждый ход заключается в разрезании доски по горизонтали или по вертикали по границам клеток, после чего та часть, на которой приклеен указатель, остается в игре, а вторая половина выкидывается. Тот, кто не может сделать ход, то есть держит перед своим ходом доску размера $1 \times 1$, проигрывает.
Разумеется, духи с той стороны очень недовольны таким обращением с уиджа, поэтому проигравший отправится сразу на тот свет (хотя друзья пока что об этом не знают). Ваша задача --- определить, у кого из игроков, первого или второго, есть выигрышная стратегия, и продемонстрировать ее.
В единственной строке ввода через пробел даны два целых числа $n$ и $m$ --- размеры поля ($1 \leqslant n, m \leqslant 10^5$).
Это интерактивная задача.
В рамках взаимодействия с интерактором первым действием ваша программа должна вывести число <<1>> (без кавычек), если вы выбираете ходить первым, и <<2>>, если вторым.
После чего в соответствии с выбранной очередностью ваша программа и интерактор совершают ходы. Каждый ход описывается парой из символа <<R>> или <<C>>, обозначающего разрезание по горизонтали или по вертикали, соответственно, и числа $t$, обозначающего номер строки/столбца, после которой/которого делается разрез. Например, если размеры оставшейся доски равны $13 \times 17$, ход <<R 5>> означает, что доска разрезается по горизонтали на части размеров $5 \times 17$ и $8 \times 17$. Строки и столбцы нумеруются с единицы слева-направо и сверху-вниз, начиная от края оставшейся в игре части доски.
Если ваша программа выводит некорректный ход, интерактор выводит в ответ <<FAIL>> и завершается с вердиктом Wrong Answer. Считав слово <<FAIL>>, ваша программа должна также завершиться во избежание вердиктов Time Limit Exceeded и Idleness Limit Exceeded.
Если интерактор не может сделать ход, он выводит <<YOU WIN>> и завершается с вердиктом OK, после чего ваша программа также должна завершиться с нулевым кодом возврата. Обратите внимание, что интерактор не завершается, если после его хода у вашей программы не остается возможности походить --- чтобы в таком случае получить вердикт Wrong Answer, следует вывести произвольный некорректный ход и завершиться.
После каждой выведенной строки необходимо сбрасывать буфер потока вывода (sys.stdout.flush() в Python, System.out.flush() в Java, cout.flush() в C++).
3 3 R 1 YOU WIN
2 C 1
4 5 C 1 YOU WIN
1 R 2 R 1
Olympiad > Russian Olympiad in Informatics > Internet Olympiads in Informatics > 2022-2023 Season > November 12, 2022 > Basic G번