Это интерактивная задача!
Алиса и Боб играют в следующую игру. Изначально у Алисы есть $$$n$$$ карточек с числами $$$a_1, a_2, \ldots, a_n$$$ из неотрицательных чисел, меньших $$$m$$$. Также задана фиксированная бинарная строка $$$s_0s_1 \ldots s_{m-1}$$$.
Каждый ход Алиса может совершить одно из следующих действий:
Если через $$$n + m+7$$$ ходов Алиса не закончила игру, или у неё на руках всё ещё больше одной карты, победителем считается Боб. Иначе у Алисы на руках одна карточка. Пусть на этой карточке число $$$x$$$. Тогда, если $$$s_x = 1$$$, в игре побеждает Алиса, а иначе побеждает Боб.
Ваша задача — выбрать, за какого игрока играть, и выиграть игру с программой жюри.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 100$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Взаимодействие начинается со считывания входных данных. Первая строка каждого набора входных данных содержит два целых числа $$$n, m$$$ ($$$2 \le n \le 100$$$, $$$2 \le m \le 100$$$) — длину массива $$$a$$$ и модуль.
Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$0 \le a_i \lt m$$$) — элементы массива $$$a$$$.
Третья строка каждого набора входных данных содержит бинарную строку длины $$$m$$$ — $$$s_0s_1 \ldots s_{m-1}$$$.
После считывания данных вы должны вывести одну строку: Alice или Bob — имя игрока, за которого вы будете играть.
Если вы выбрали играть за Алису, далее выводите совершаемые операции в следующем формате:
Если вы выбрали играть за Боба, далее считывайте операции Алисы в таком же формате. На каждую операцию replace $$$x$$$ — вам нужно вывести число $$$y$$$ ($$$0 \le y \lt m$$$, $$$y \neq x$$$) в отдельной строке. Также гарантируется, что программа жюри, играющая за Алису, закончит игру за не более чем $$$n + m + 7$$$ ходов, с одной картой на руках.
После вывода или считывания done вы должны перейти к следующему набору входных данных.
После вывода каждого запроса не забудьте вывести перевод строки и сбросить буфер вывода$$$^{\text{∗}}$$$. В противном случае вы получите вердикт Решение «зависло». На любом шаге взаимодействия, если вы считали -1 вместо корректных данных, ваше решение должно немедленно завершиться. Это означает, что ваше решение получит вердикт Неправильный ответ из-за некорректного запроса или любой другой ошибки. Если программа не завершится, вы можете получить любой вердикт, так как ваша программа продолжит чтение из закрытого потока.
$$$^{\text{∗}}$$$Чтобы сбросить буфер вывода, используйте:
2 5 4 0 2 0 3 3 0110 1 0 2 10 7 7 1111011111 unite 7 7 done
Alice replace 0 unite 3 3 unite 1 2 replace 3 unite 0 0 unite 0 2 done Bob
Не гарантируется, что в примере из условия жюри играет оптимально.