I. OpenAI XO
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

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

В недалёком будущем OpenAI бот уже выигрывает у человека почти во всех играх. Чтобы не дать боту захватить мир вам нужно написать программу, которая даст отпор при игре в классические крестики-нолики.

Напомним правила этой игры: игроки ходят по очереди, выставляя на клетчатом поле 3 на 3 свой символ (X или O — заглавные латинские буквы). Ходить можно только в свободную клетку. Если после хода образовалось 3 одинаковых символа в ряд (по вертикали, горизонтали или диагонали), игрок, которому принадлежит символ, выигрывает. Если такого не произошло, но при этом нет свободных клеток, то в игре объявляется ничья.

OpenAI бот всегда играет за нолики, Вы — за крестики. Ваша цель — не проиграть боту, glhf!

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

В самом начале в первой строке ввода задаётся, кто ходит первым.

Далее происходит общение. Если ход за ботом, то он сообщает вам координаты клетки, в которую походил в виде пары чисел r и c, означающих номер строки и столбца. Строки нумеруются от 1 до 3 сверху вниз, а столбцы от 1 до 3 слева направо. Каждый ход выводится в отдельной строке, числа разделены одним пробелом. Гарантируется, что ходы бота корректны.

Если ход за вами, то Вы должны вывести в аналогичном формате координаты клетки хода.

Как только игра заканчивается, вам немедленно сообщается результат игры в виде строки «WIN» (вы выиграли), «LOSE» (вы проиграли) или «DRAW» (ничья).

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

Примеры
Входные данные
X
1 3
2 3
WIN
Выходные данные
1 1
2 1
3 1
Входные данные
O
1 1
3 1
2 3
1 2
2 2
DRAW
Выходные данные
3 3
1 3
2 1
3 2
Примечание

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

  • В языке Pascal: flush(output);
  • В С/С++: fflush(stdout) или cout.flush();
  • В Java: System.out.flush();
  • В Python: sys.stdout.flush() из библиотеки sys;
  • В C#: Console.Out.Flush();