Зельда опять бродит по подземельям, и ей очень хочется победить всех боссов, которые в них прячутся. Однако не всех боссов Зельда способна победить сразу, поэтому она тщательно выбирает, с кем ей сразиться сначала.
Иерархия боссов представляет собой подвешенное дерево, где вершины — это боссы, а рёбра — отношения начальник/подчиненный между боссами. Если в дереве вершина $$$v$$$ является ребенком вершины $$$u$$$, то босс с номером $$$u$$$ — непосредственный начальник босса с номером $$$v$$$. Будем называть непосредственного начальника лордом, а непосредственного подчиненного — слугой.
Зельда придерживается следующей стратегии:
Однако боссам не нравится, что после такого действия некоторым из начальников приходится перерабатывать, так как появляется слишком много слуг. Для того чтобы оптимизировать нагрузку, структура боссов перестраивается:
После этого Зельда снова ищет боссов, у которых ровно один подчиненный, и побеждает их, затем иерархия боссов снова перестраивается, и так до тех пор, пока Зельда может найти, кого ей победить. Помогите Зельде понять, сколько боссов останется после всех ее побед.
В первой строке дано целое число $$$n$$$ — число боссов ($$$1 \le n \le 10^5$$$).
Далее дано $$$n$$$ строк, описывающих слуг боссов. Строка с номером $$$i$$$ состоит из числа $$$k_i$$$ (числа слуг босса номер $$$i$$$) и следующих за ним $$$k_i$$$ различных целых чисел $$$s_1, \ldots, s_{k_i}$$$ — номеров этих слуг ($$$1 \le s_{j} \le s_n$$$, $$$s_j \ne i$$$).
Гарантируется, что описанная структура задает подвешенное дерево.
В первой строке выведите $$$m$$$ — число боссов, которые не будут побеждены Зельдой. Во второй строке через пробел выведите $$$m$$$ чисел — номера боссов, которых Зельде не удастся победить.
42 2 301 40
1 1
Принцесса Зельда готовится сражаться с Нуллом и оптимизирует работу Жезла Трифа: она настроила жезл так, что теперь он может вызывать пару эхо одним заклинанием.
У каждого эхо есть имя, а каждое заклинание — это определенное волшебное слово. Известно, что эхо довольно придирчивы и реагируют только на заклинания, являющиеся префиксами их имен.
Всего у Зельды есть $$$n$$$ эхо, $$$i$$$-e из которых имеет имя $$$s_i$$$, и $$$m$$$ волшебных слов заклинаний, $$$i$$$-e из которых равно $$$t_i$$$. Формально правила следующие: пару эхо $$$i$$$ и $$$j$$$ можно вызвать заклинанием номер $$$k$$$, если
Теперь Зельде интересно проверить работу жезла перед финальной битвой и убедиться, что доступные ей волшебные слова дают ей достаточную гибкость в битве. Определите, для скольки пар эхо Зельда имеет заклинание, способное эту пару эхо вызвать.
В первой строке ввода даны два целых числа $$$n$$$ и $$$m$$$ — число эхо и заклинаний соответственно ($$$1 \le n, m \le 2 \cdot 10^5$$$).
Во $$$i$$$-й из следующих $$$n$$$ строк дано имя $$$i$$$-го эхо — строка из маленьких латинских букв (от 'a' до 'z').
Во $$$j$$$-й из следующих $$$m$$$ строк дано $$$j$$$-e заклинание — также строка из маленьких латинских букв.
Суммарная длина строк из одного набора не превосходит $$$10^6$$$.
3 4abacabaababbbbaabababacaba
1
В глубинах Застывшего Мира, где неподвижно даже время, скрывается Линк. Силы тьмы похитили его, и только Зельда, храбрая принцесса Хайрула, может спасти его.
Зельда обладает древним артефактом — Жезлом Трифа, который при активации загорается огнем, если герой Линк находится на расстоянии не больше $$$2d$$$ от жезла. Правда, Зельда читала инструкцию по использованию Жезла очень давно и уже забыла, чему равно $$$d$$$, она только помнит, что $$$d$$$ целое и лежит в отрезке от $$$1$$$ до $$$10^5$$$.
Сейчас Зельда находится в точке $$$(0, 0)$$$ и знает, что Линк находится на расстоянии не больше $$$d$$$ от нее, то есть если активировать жезл, то он загорится.
Линк спрятан силами тьмы в некоторой точке $$$(x_0, y_0)$$$ с необязательно целыми координатами, причем $$$-10^5 \le x_0, y_0 \le 10^5$$$. Зельда хочет как можно быстрее найти его. Для этого она может не более $$$400$$$ раз перейти в произвольную точку $$$(x, y)$$$ ($$$-10^6 \le x, y \le 10^6$$$) координатной плоскости и активировать Жезл, чтобы проверить, находится ли Линк на расстоянии не больше $$$2d$$$.
Помогите Зельде найти координаты Линка с абсолютной погрешностью каждой из координат точки не более $$$10^{-3}$$$.
Это интерактивная задача.
Взаимодействие с интерактором проходит в виде запросов со стороны вашей программы и ответов со стороны интерактора. Каждый запрос представляется в виде «? $$$x$$$ $$$y$$$», что означает перейти в точку с вещественными координатами $$$x$$$ и $$$y$$$ ($$$-10^6 \le x, y \le 10^6$$$) и активировать Жезл Трифа. В качестве ответа на запрос вы получите одну из двух строк:
Чтобы вывести ответ на задачу, напечатайте «! $$$x_0$$$ $$$y_0$$$», где $$$x_0$$$ и $$$y_0$$$ — предполагаемые координаты места, где спрятан Линк. Этот вывод не учитывается в количестве запросов.
Если в какой-то момент ваша программа превышает лимит в $$$400$$$ запросов или вы выводите запрос в точке за пределами доступной области, интерактор завершится с вердиктом WA (Wrong Answer).
Не забывайте после каждого запроса выводить символ перевода строки ('{\}n') и сбрасывать буфер вывода, чтобы интерактор получил ваш запрос. Это можно сделать с помощью std::cout.flush() в C++, System.out.flush() в Java и sys.stdout.flush() в Python, а также аналогичными командами в других языках. Если ваша программа не сбрасывает буфер вывода, она получит вердикт TL (Time Limit Exceeded) или IL (Idleness Limit Exceeded).
? 1 0 ? 3 0 ? -1 1 ? 1 1 ? 0 2 ? 2 1 ? 2 1.000001 ? 0 -1.000001 ! 1 0
YES YES NO YES NO YES NO NO
В первом примере из условия одно из возможных значений $$$d$$$ равно $$$1$$$. Тогда если мы находимся на расстоянии не больше $$$2$$$ от $$$(1, 0)$$$, мы получаем ответ YES, а иначе NO.
После долгих путешествий и приключений по Хайрулу Линк и Зельда решили отдохнуть и отвлечься от боев с монстрами и спасения королевства. Линк предложил Зельде сыграть в интересную числовую игру, которую он сам недавно узнал.
Правила игры довольно просты: есть два целых положительных числа $$$A$$$ и $$$B$$$ и число $$$k$$$. Игроки ходят по очереди, начинает Зельда. За ход игрок может сделать ровно одно из двух действий:
При этом, в процессе игры числа $$$A$$$ и $$$B$$$ должны оставаться положительными; если же игрок сделал такой ход, что одно из чисел перестало быть положительным, он проигрывает. Выигрывает же в игре тот, после чьего хода сумма чисел $$$A$$$ и $$$B$$$ стала простым числом.
Зельда хочет показать, что не уступает Линку в остроумии. Подскажите ей, может ли она выиграть в игре вне зависимости от игры соперника?
Каждый тест содержит несколько наборов входных данных. Первая строка ввода содержит одно целое число t — количество наборов входных данных ($$$1 \leq t \leq 10$$$).
В следующих $$$t$$$ строках описываются наборы входных данных: каждый из них состоит из одной строки, содержащей три числа $$$A$$$, $$$B$$$, $$$k$$$ — числа $$$A$$$ и $$$B$$$ в начале игры и число $$$k$$$ ($$$1 \leq A, B, k \leq 10^9$$$).
Гарантируется, что $$$A+B$$$ изначально не является простым числом.
Для каждого набора входных данных выведите в отдельной строке «Yes», если Зельда сможет выиграть с такими начальными данными, и «No» иначе.
41 7 23 5 23 6 1253309356 182963670 154154154
No Yes No Yes
Поверхность мира Хайрул усеяна холмами и ущельями, полными опасностей.
Зельда ориентируется по карте Хайрула, на которой отмечено $$$n$$$ локаций. Каждая локация имеет свою высоту над уровнем моря $$$a_i$$$.
Холм — это подпоследовательность локаций (не обязательно идущих подряд, но имеющих возрастающие номера), высоты которых сначала строго возрастают, а затем строго убывают. Иными словами, последовательность $$$i_1, \ldots, i_k$$$ называется холмом, если $$$i_1 \lt i_2 \lt \ldots \lt i_k$$$ и есть некоторое $$$j$$$ от $$$1$$$ до $$$k$$$, что $$$a_{i_1} \lt a_{i_2} \lt \ldots \lt a_{i_j}$$$ и $$$a_{i_j} \gt a_{i_{j+1}} \gt \ldots \gt a_{i_k}$$$. Обратите внимание, что холм может состоять даже из одной локации.
Чтобы спасти Линка и все королевство от неизвестного врага, порождающего порталы в Застывший Мир, необходимо подсчитать количество всех возможных холмов в Хайруле. Казалось бы, это не сильно связанные вещи, но Зельда знает, что делает.
Поскольку холмов может быть очень много, Зельде достаточно найти остаток от деления количества холмов на $$$10^9 + 7$$$. Помогите принцессе справиться с этой задачей.
В первой строке ввода дано целое положительное число $$$n$$$ — число локаций в мире Хайрул ($$$1 \le n \le 10^5$$$).
Во второй строке перечислены $$$n$$$ чисел $$$a_i$$$ — высоты локаций ($$$0 \le a_i \le 10^9$$$).
Выведите одно целое число — остаток от деления общего числа холмов на $$$10^9 + 7$$$.
53 2 5 1 4
20
32 1 3
6
A nameless country consists of $$$n$$$ cities connected by $$$m$$$ bidirectional roads, such that it is possible to reach any city from any other.
There are three factions controlling this country: $$$i$$$-th faction occupies some connected set of cities $$$\{a_{i,j}\}$$$. That is, if we leave only the cities controlled by a specific faction, along with the roads between them, there will be a path between any two of them. It is also known that no city is controlled by more than one faction, meaning $$$a_{i,p} \neq a_{j,q}$$$ for $$$i \neq j$$$.
To celebrate the Equinox you need to mark some cities as main tourist attractions for the celebration. For all the factions so be satisfied, these cities along with factions' cities should form a connected set. Formally, it is necessary to choose a set of cities $$$B$$$ such that any two cities from the set $$$S = B \cup \{a_{i,j}\}$$$ are connected by a path that passes only through cities from $$$S$$$.
Of course, the most obvious way is to mark all the cities in the country, but the government will not be satisfied with such a solution. Find a suitable set $$$B$$$ of minimal size.
The first line contains two integers $$$n$$$ and $$$m$$$ — the number of cities and roads in the country ($$$1 \le n, m \le 2 \cdot 10^5$$$).
The next 6 lines describe the factions: two lines for each. The first line of the description of the $$$i$$$-th faction contains integer $$$k_i$$$ — the number of cities that it controls ($$$1 \le k_i \le n - 2$$$). The second line lists $$$k_i$$$ distinct integers $$$a_{i, j}$$$ — the cities controlled by the $$$i$$$-th faction ($$$1 \le a_{i,j} \le n$$$).
It is guaranteed that each number from $$$1$$$ to $$$n$$$ appears among $$$a_{i,j}$$$ no more than once.
In the next $$$m$$$ lines, the $$$i$$$-th line contains two integers $$$u_i$$$ and $$$v_i$$$ — the cities connected by the $$$i$$$-th road ($$$1 \le u_i, v_i \le n$$$).
It is guaranteed that it is possible to reach any city from any other using the given roads.
In the first line, output an integer $$$b$$$ — the minimum number of cities that you need to mark with for celebration. If the factions are already connected and no cities need to be marked, output $$$0$$$.
In the second line, output $$$b$$$ distinct integers from $$$1$$$ to $$$n$$$ — the numbers of these cities. No city controlled by a faction should be marked.
4 31112134 14 24 3
1 4
10 1231 2 324 5161 22 31 34 51 77 88 99 69 107 1010 54 9
3 9 7 10
An illustration for the second example from the statement is provided in the figure below. Suitable answers include cities $$$7$$$, $$$8$$$, $$$9$$$ or $$$7$$$, $$$9$$$, $$$10$$$.
Зельда нашла Линка (ура!), но теперь ей нужно сварить лечебный смузи, чтобы нейтрализовать влияние черной магии и поправить здоровье друга.
Приготовление смузи — это огромный квест, перед началом которого Зельда выбирает $$$n$$$ ингредиентов, заданных числами от $$$0$$$ до $$$10^9$$$, и упорядочивает их в последовательность $$$a_i$$$. Разрешается брать повторяющиеся ингредиенты, то есть $$$a_i = a_j$$$.
Затем принцессе необходимо найти секретный ингредиент, номер которого вычисляется следующим образом:
Зельда уже выбрала набор из $$$n$$$ ингредиентов, но заметила, что от их порядка может меняться номер секретного ингредиента. Известно, что чем больше его номер, тем более высокими целительными свойствами будет обладать смузи, приготовленный с его использованием.
Помогите принцессе упорядочить выбранные ингредиенты так, чтобы соответствующий полученной последовательности ингредиентов номер секретного ингредиента был как можно больше.
В первой строке ввода дано одно целое число $$$n$$$ — количество ингредиентов у Зельды $$$(1 \leq n \leq 2 \cdot 10^5)$$$.
Во второй строке перечислены $$$n$$$ целых чисел от $$$0$$$ до $$$10^9$$$ — номера этих ингредиентов.
Выведите единственное целое число — максимальный возможный номер секретного ингредиента.
51 1 0 2 5
4
30 0 0
0
В первом примере один из способов упорядочить ингредиенты выглядит как $$$a = [5, 0, 1, 2, 1]$$$. В этом случае мы получим $$$b = [0, 1, 2, 3, 3]$$$, mex которого равен $$$4$$$.
Когда Зельду бросили в тюрьму самозванцы, притворяющиеся королем и министром Хайрула, ей было долгое время нечем заняться. Поэтому она выписала последовательность из n натуральных чисел, после чего стала выполнять с ней следующие действия:
Как только в последовательности останется не более двух различных чисел, Зельде надоест развлекаться с ней, и она наконец-то начнет предпринимать попытки сбежать из тюрьмы.
Чтобы ускорить этот процесс, определите, на каком ходу последовательность перестанет быть интересна Зельде, и какие значения в ней после этого останутся.
В первой строке ввода дано целое число n — количество чисел в последовательности (1 ≤ n ≤ 105).
Во второй строке перечислены n целых чисел ai — сами элементы последовательности (1 ≤ ai ≤ 105).
В первой строке выведите номер хода, после которого Зельде перестанет быть интересна последовательность. Если последовательность с самого начала не является интересной, выведите 0.
Во второй строке выведите через пробел минимальное и максимальное числа в получившейся последовательности.
3
4 5 6
1
5 6
4
1 2 1 3
2
1 2
6
4 2 2 5 1 3
6
2 3
Зельда нашла способ соптимизировать создание эхо объектов и создала конвейер по их производству.
Конвейер работает почти что по принципу обычной очереди, но также обладает и некоторыми дополнительными функциями: например, если где-то в очереди скопилось много эхо, которые Зельде уже не понадобятся, есть способ их быстро из очереди изъять.
Более подробно, конвейер в каждый момент времени может быть разделен на несколько сегментов, содержащих отрезки подряд идущих элементов очереди. Для работы с конвейером доступны следующие операции:
Иными словами, порядок сохранившихся элементов в очереди не меняется, а при выполнении операции pop (2) помимо изъятия самого первого элемента очереди, также удаляются первые элементы каждого сегмента.
Для тестирования конвейера Зельда просит вас реализовать структуру данных, поддерживающую все эти операции.
В первой строке ввода даны целые числа $$$n$$$ и $$$q$$$ — изначальное количество элементов в очереди и число запросов ($$$1 \leq n, q \leq 10^5$$$).
Во второй строке ввода перечислены $$$n$$$ целых чисел $$$a_i$$$ — элементы очереди в ее начальном состоянии ($$$1 \leq a_i \leq 10^9$$$).
Далее следует $$$q$$$ запросов, по одному в каждой строке. Формат запросов в соответствии с их описанием в условии следующий: «push $$$x$$$», «pop», «cut $$$i$$$ $$$j$$$» и «restore» ($$$1 \leq x \leq 10^9$$$; $$$1 \leq i \leq S$$$, где $$$S$$$ — количество непустых сегментов в данный момент; $$$1 \leq j \lt C_S$$$, где $$$C_S$$$ — количество элементов в $$$S$$$-м сегменте).
Гарантируется, что все запросы корректны, в частности pop не вызывается при пустом первом сегменте, а cut не порождает пустые сегменты.
На каждый запрос pop выведите на отдельной строке вынимаемый первый элемент очереди.
Гарантируется, что хотя бы один такой запрос будет.
7 8 1 9 239 144 25 16 777 pop pop cut 1 2 pop restore pop pop pop
1 9 239 144 16 777
В первом примере из условия очередь претерпевает следующие изменения:
И вот Зельда зашла в новую локацию, и перед ней внезапно появилось $$$n$$$ противников: засада Нулла, не иначе. Для удобства в бою Зельда дала каждому противнику свой номер, кроме этого она быстро выяснила вид каждого противника. Вид противника с номером $$$i$$$ равен $$$k_i$$$, при этом у разных противников может быть один и тот же вид.
Поскольку на Зельду напали внезапно, она не смогла основательно подготовиться к сражению. Однако, благодаря наблюдениям за сражениями Линка, Зельда смогла вспомнить, что некоторые противники образуют между собой связи, делающие их уязвимыми к атакам. Значит, при правильной стратегии можно победить всех одним ударом!
К несчастью, Зельда не очень внимательно следила за сражениями Линка, поэтому смогла заметить лишь $$$n - 1$$$ связь и тот факт, что любые два противника связаны напрямую или косвенно (по цепочке).
Из-за частых конфликтов с отцом принцесса не очень сильна в комбинированных атаках, которые поражают многих врагов за раз. А именно, она может выбрать два вида противников $$$k_i$$$ и $$$k_j$$$, после чего выстрелить в какого-либо врага. Как только выстрел долетает до врага,
Иными словами, за одну атаку Зельда может поразить множество связанных напрямую или косвенно врагов, каждый из которых принадлежит одному из выбранных ей до атаки видов.
Зельда хочет победить за наименьшее количество атак, так как она хочет поскорее прийти на помощь Линку. Она неплохо стреляет, но не уверена, какие виды противников выбирать для каждой атаки и кого ей нужно атаковать. Помогите Зельде с планом битвы, чтобы у неё точно получилось спасти Линка и весь Хайрул.
В первой строке ввода дано одно число $$$n$$$ — количество противников Зельды ($$$1 \leq n \leq 2 \cdot 10^5$$$).
Во второй строке перечислены $$$n$$$ целых чисел $$$k_1, \ldots, k_n$$$ — виды противников ($$$1 \leq k_i \leq n$$$).
В $$$i$$$-й из следующих $$$n - 1$$$ строках даны два целых числа $$$v_i$$$ и $$$u_i$$$, означающие, что атака по противнику $$$v_i$$$ перейдёт на противника $$$u_i$$$ и наоборот ($$$1 \le v_i, u_i \le n$$$; $$$v_i \neq u_i$$$). Гарантируется, что такие связи косвенно связывают любую пару противников.
В первой строке необходимо вывести минимальное количество атак $$$a$$$.
В следующих $$$a$$$ строках необходимо вывести список противников, пораженных каждой атакой. Строка, описывающая $$$i$$$-ю атаку, должна начинаться с числа $$$n_i$$$ — количества поверженных противников, за которым через пробел должны быть перечислены $$$n_i$$$ номеров поверженных противников от $$$1$$$ до $$$n$$$.
Каждый враг должен быть выведен ровно один раз.
66 6 2 1 6 41 64 31 23 52 3
3 4 1 2 3 5 1 4 1 6
54 5 4 4 54 52 55 13 5
1 5 1 2 5 3 4
Зельда хочет улучшить свойства своего Жезла Трифа и собирается использовать для этого дерево, растущее у Источника Силы. Для этого ей нужно отнести священное бревно мастеру-гному. Добравшись к дереву через весь Хайрул, она обнаружила, что это довольно большое дерево, и если она возьмет его с собой целиком, то оно превысит вместимость её рюкзака на $$$w$$$ единиц вместимости.
Где-то в своём арсенале Зельда нашла заклинание, которое на час превращает её в бобра, и теперь она собирается им наконец-то воспользоваться!
Дерево магическое (подвешенное), состоит из $$$n$$$ вершин с корнем в вершине $$$1$$$, а каждая вершина имеет свой вес $$$a_i$$$.
За одно действие Зельда-бобер может выбрать некоторую вершину дерева $$$v$$$ и откусить её со всеми её отростками (вершина $$$a$$$ является отростком вершины $$$b$$$, если кратчайший путь от вершины $$$a$$$ до корня проходит через вершину $$$b$$$).
Помогите Зельде-бобру использовать заклинание так, чтобы суммарный вес всех откушенных ею вершин был в точности равен $$$w$$$.
Первая строка входных данных содержит два целых числа $$$n$$$ и $$$w$$$ — количество вершин в дереве и необходимый вес вершин для удаления ($$$1 \le n, w \le 1000$$$).
Вторая строка входных данных содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ — веса вершин ($$$1 \le a_i \le 100$$$).
В $$$i$$$-й из следующих $$$n - 1$$$ строк даны два целых числа $$$u_i$$$ и $$$v_i$$$ — номера вершин, соединённых $$$i$$$-м ребром. Гарантируется, что данный граф является деревом ($$$1 \le u, v \le n$$$; $$$u \neq v$$$).
Если с помощью описанных действий невозможно отгрызть вершины с суммарным весом $$$w$$$, выведите $$$-1$$$.
Иначе выведите сначала целое число $$$k$$$ от $$$0$$$ до $$$n$$$ — количество превращений в бобра. Затем выведите $$$k$$$ различных целых чисел от $$$1$$$ до $$$n$$$ — номера вершин, которые нужно отгрызть.
Если существует несколько подходящих последовательностей действий, выведите любую.
5 73 4 3 2 21 22 32 44 5
2 4 3
5 83 4 3 2 21 22 32 44 5
-1
5 143 4 3 2 21 22 32 44 5
1 1
В первом примере из условия Зельда-бобер отгрызает вершины $$$3$$$ и $$$4$$$, вместе с вершиной $$$4$$$ она отгрызёт и вершину $$$5$$$, так как $$$5$$$-я вершина является отростком вершины $$$4$$$. Суммарный вес удалённых вершин $$$3$$$, $$$4$$$, $$$5$$$ равен $$$3 + 2 + 2 = 7$$$
У принцессы Зельды была колода из $$$n$$$ карт. На каждой карте было написано целое число от $$$1$$$ до $$$n$$$, причём изначально не было двух карт с одинаковыми числами на них. Затем она использовала силу волшебного Жезла Трифа и создала копию каждой карты.
К сожалению, карты упали на землю рубашками вверх, и теперь нужно снова собрать все карты по парам, иначе ими не получится пользоваться.
Просто перевернуть все карты было бы слишком скучно, поэтому Зельда решила выбирать по две карты и смотреть, совпали ли их значения. Если совпали, то она их откладывает в сторону, и выбирает следующую пару карт. Иначе она переворачивает эти карты обратно и выбирает пару карт заново.
Единственное, что Зельде известно изначально — если пронумеровать все лежащие на земле карточки от $$$1$$$ до $$$2n$$$, то значение на карточке под номером $$$a$$$ строго меньше, чем на карточке под номером $$$b$$$.
Несмотря на желание сделать процесс сортировки карт интересным, принцесса очень спешит, поэтому хочет закончить за не более чем $$$2n - 1$$$ ход. Помогите ей в этом!
В первой строке даны три целых числа $$$n$$$, $$$a$$$ и $$$b$$$ — количество карточек, которые изначально были у Зельды, а также номера двух карточек, про значения которых известно, что первое меньше второго ($$$2 \le n \le 50\,000$$$; $$$1 \le a, b \le 2n$$$; $$$a \ne b$$$).
После считывания ввода вашей программой запускается процесс взаимодействия с интерактором.
В процессе взаимодействия с интерактором ваша программа должна сообщать интерактору запросы в формате «? $$$x$$$ $$$y$$$», где $$$x$$$ и $$$y$$$ — два различных целых числа от $$$1$$$ до $$$2n$$$, обозначающие номера карточек, которые Зельда должна перевернуть на очередном ходу.
В ответ интерактор в отдельной строке напечатает через пробел два целых числа от $$$1$$$ до $$$n$$$ — значения, написанные на этих карточках. Если значения совпали, эти карточки убираются и больше не должны упоминаться в запросах.
Если какой-то из сделанных вашей программой запросов будет некорректен, интерактор выведет «-1 -1» и завершится с вердиктом WA (Wrong Answer). Также если ваша программа превысит лимит в $$$2n - 1$$$ запрос, интерактор завершится тем же образом.
Если же ваша программа сможет на $$$2n - 1$$$ запрос или меньше перевернуть все карточки по парам с одинаковыми значениями, интерактор завершится с вердиктом OK. Во избежание получения вердиктов TL (Time Limit Exceeded) или IL (Idleness Limit Exceeded) ваша программа также должна завершаться с кодом возврата $$$0$$$ после успешного ответа интерактора на последний запрос.
Также обратите внимание, что вывод каждого запроса должен завершаться переводом строки (символ '{\}n') и сбросом буфера вывода (sys.stdout.flush() в Python, cout.flush() в C++, System.out.flush() в Java и аналогичными методами в других языках).
2 1 4 1 1 2 2
1 3 2 4
3 5 3 3 2 3 3 1 2 2 2 1 1
3 5 3 4 1 5 2 5 1 6