Codeforces Round 668 (Div. 1) |
---|
Закончено |
Это интерактивная задача.
Дано целое число $$$n$$$. Два игрока, First и Second играют в следующую игру:
Чтобы определить победителя игры, мы вычисляем сумму чисел, выбранных Second. Если сумма всех этих чисел кратна $$$2n$$$, то выигрывает Second. Иначе выигрывает First.
Вам дано $$$n$$$. Выберите каким игроком вы будете играть и выиграйте игру.
Начните взаимодействие с чтения целого числа $$$n$$$ ($$$1 \le n \le 5 \cdot 10^5$$$).
После прочтения выведите единственную строку, содержащую либо First, либо Second, обозначающую, за кого вы хотите играть. Взаимодействие затем варьируется в зависимости от того, за кого вы решили играть.
Если вы выбрали First, выведите единственную строку, содержащую $$$2n$$$ целых чисел $$$p_1, p_2, \dots, p_{2n}$$$, обозначающих, что число $$$i$$$ принадлежит к $$$p_i$$$-й паре для $$$1\le i \le 2n$$$. Таким образом, должно выполняться $$$1 \le p_i \le n$$$, а каждое число от $$$1$$$ до $$$n$$$ включительно должно встречаться ровно дважды.
Если вы выбрали игру Second, то интерактор выведет $$$2n$$$ целых чисел $$$p_1, p_2, \dots, p_{2n}$$$, что означает, что число $$$i$$$ принадлежит к $$$p_i$$$-й паре. В ответ в единственной строке выведите $$$n$$$ целых чисел $$$a_1, a_2, \dots, a_n$$$. Они должны содержать ровно по одному числу из каждой пары.
Независимо от того, какого игрока вы выбрали, интерактор прекратит работу, выведя единственное целое число: $$$0$$$, если ваш ответ на тестовый случай правильный (то есть вы играете за First и он не может выбрать подходящие числа из ваших пар, или если вы играете за Second и сумма выбранных вами чисел кратна $$$2n$$$), или $$$-1$$$, если он неправильный. Ваша программа должна завершиться сразу после прочтения этого числа.
Если в какой-то момент вы сделаете некорректное взаимодействие, то интерактор выведет $$$-1$$$ и завершит взаимодействие. Вы получите вердикт Неверный ответ. Убедитесь в том, что вы немедленно прекращаете работу, чтобы избежать получения других вердиктов.
После вывода очередной строки не забудьте вывести перевод строки и сбросить буфер вывода. В противном случае вы получите вердикт Решение «зависло». Для сброса буфера используйте:
Формат взломов
Для взлома используйте следующий формат:
Первая строка содержит целое число $$$n$$$ ($$$1 \le n \le 5 \cdot 10^5$$$).
Вторая строка содержит $$$2n$$$ целых чисел $$$p_1, p_2, \dots, p_{2n}$$$, обозначающих, что число $$$i$$$ принадлежит к паре $$$p_i$$$-th, если взламываемое решение решает играть как Second. Если взламываемое решение выбирает играть как First, то эти пары не имеют значения, но $$$p_1, p_2, \dots, p_{2n}$$$ все равно должны формировать разбиение $$$1, 2, \dots, 2n$$$ на $$$n$$$ непересекающихся пар.
2 1 1 2 2 0
Second 1 3
2 0
First 2 1 2 1
В первом примере $$$n = 2$$$, и вы решили играть как Second. Интерактор выбирает пары $$$(1, 2)$$$ и $$$(3, 4)$$$, а вы отвечаете числами $$$1$$$ и $$$3$$$. Это правильный выбор, так как он содержит ровно одно число из каждой пары, а сумма $$$1 + 3 = 4$$$ делится на $$$4$$$.
Во втором примере снова $$$n = 2$$$, и вы играете как Первый. Вы выбираете пары $$$(2, 4)$$$ и $$$(1, 3)$$$. Интерактор не может выбрать число из каждой пары так, чтобы их сумма делилась на $$$4$$$, поэтому ответ верен.
Обратите внимание, что примеры предназначены только для иллюстрации протокола взаимодействия и необязательно соответствуют поведению реального интерактора.
Название |
---|