Это интерактивная задача.
Вам даны $$$n$$$ коробок, пронумерованных от $$$1$$$ до $$$n$$$. Коробки выглядят идентично, но каждая из них имеет скрытое значение мощности $$$a_i$$$, которое равно либо $$$1$$$, либо $$$2$$$.
Ваша задача — определить значение мощности каждой коробки. Для этого вы проводите следующий эксперимент. Изначально $$$i$$$-я коробка помещается на координату $$$i$$$ на числовой оси ($$$1 \le i \le n$$$).
Вам разрешено выполнять следующие два типа запросов:
Ваша задача — определить значение мощности каждой коробки, используя не более чем $$$\left\lceil \frac{3n}{2} \right\rceil$$$ запросов в общей сложности, учитывая как запросы swap, так и throw.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 500$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая и единственная строка каждого набора входных данных содержит одно целое число $$$n$$$ ($$$2 \le n \le 1000$$$) — количество коробок.
Гарантируется, что сумма значений $$$n$$$ по всем наборам входных данных не превосходит $$$1000$$$.
Взаимодействие для каждого набора входных данных начинается с чтения целого числа $$$n$$$.
Чтобы сделать запрос, выведите строку в одном из следующих форматов:
Обратите внимание, что запросы чувствительны к регистру.
Как только вы определите значение мощности каждой коробки, выведите строку в следующем формате:
Обратите внимание, что отправка окончательного ответа не учитывается в ограничении в $$$\left\lceil \frac{3n}{2} \right\rceil$$$ запросов.
Если ваша программа превысит $$$\left\lceil \frac{3n}{2} \right\rceil$$$ запросов в одном наборе входных данных, ваша программа должна немедленно завершиться, чтобы получить вердикт Неправильный ответ. В противном случае она может получить любой другой вердикт.
После вывода запроса не забудьте вывести конец строки и сбросить вывод. В противном случае вы получите вердикт Решение «зависло». Для этого используйте:
Интерактор является неадаптивным; значения мощности коробок остаются постоянными на протяжении всего взаимодействия.
Взломы
Чтобы совершить взлом, используйте следующий формат.
Первая строка должна содержать одно целое число $$$t$$$ ($$$1 \le t \le 500$$$) — количество наборов входных данных.
Первая строка каждого набора входных данных содержит одно целое число $$$n$$$ ($$$2 \le n \le 1000$$$) — количество коробок.
Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$a_1,a_2,\ldots,a_n$$$ ($$$1 \le a_i \le 2$$$) — значение мощности каждой коробки.
Сумма $$$n$$$ по всем наборам входных данных не должна превосходить $$$1000$$$.
2 4 2 3 3 2 2 1
throw 2 swap 3 throw 2 throw 1 ! 2 1 2 1 throw 1 swap 1 throw 1 ! 1 2
Ниже приведен процесс взаимодействия в примере:
| Решение | Жюри | Объяснение |
| 2 | Есть $$$2$$$ набора входных данных. | |
| 4 | В первом наборе входных данных $$$4$$$ коробки. Скрытые значения мощности $$$a = [2,1,2,1]$$$. | |
| throw 2 | 2 | Бросьте мяч в коробку, находящуюся на координате $$$2$$$. Мяч перемещается по координатам $$$2 \to 3 \to 5$$$ и останавливается на координате $$$5$$$, поэтому ответ $$$2$$$. |
| swap 3 | Поменяйте местами коробки, находящиеся на координатах $$$3$$$ и $$$4$$$. Теперь коробка $$$3$$$ находится на координате $$$4$$$, а коробка $$$4$$$ находится на координате $$$3$$$. | |
| throw 2 | 3 | Бросьте мяч в коробку, находящуюся на координате $$$2$$$. Мяч перемещается по координатам $$$2 \to 3 \to 4 \to 6$$$ и останавливается на координате $$$6$$$, поэтому ответ $$$3$$$. Обратите внимание, что ответ отличается из-за обмена. |
| throw 1 | 3 | Бросьте мяч в коробку, находящуюся на координате $$$1$$$. Мяч перемещается по координатам $$$1 \to 3 \to 4 \to 6$$$ и останавливается на координате $$$6$$$, поэтому ответ $$$3$$$. |
| ! 2 1 2 1 | Решение приходит к выводу, что значения мощности $$$[2,1,2,1]$$$. | |
| 2 | Есть $$$2$$$ коробки во втором наборе входных данных. Скрытые значения мощности $$$a = [1, 2]$$$. | |
| throw 1 | 2 | Бросьте мяч в коробку, находящуюся на координате $$$1$$$. Мяч перемещается по координатам $$$1 \to 2 \to 4$$$ и останавливается на координате $$$4$$$, поэтому ответ $$$2$$$. |
| swap 1 | Поменяйте местами коробки, находящиеся на координатах $$$1$$$ и $$$2$$$. Теперь коробка $$$1$$$ находится на координате $$$2$$$, а коробка $$$2$$$ находится на координате $$$1$$$. | |
| throw 1 | 1 | Бросьте мяч в коробку, находящуюся на координате $$$1$$$. Мяч перемещается по координатам $$$1 \to 3$$$ и останавливается на координате $$$3$$$, поэтому ответ $$$1$$$. |
| ! 1 2 | Решение приходит к выводу, что значения мощности $$$[1,2]$$$. |
Пустые строки в примере входных и выходных данных даны только для лучшей читаемости; вам не нужно выводить их в вашем решении.
Обратите внимание, что в первом наборе входных данных данные запросы на самом деле недостаточны для однозначного определения значений мощности; они даны только для иллюстрации формата ввода/вывода.