一群游客在参观布兰城堡时被德古拉伯爵抓住了!游客中有一位魔术师,他与伯爵达成了以下协议:他将表演一个精妙的魔术,如果成功,德古拉将释放所有游客。
为了表演这个魔术,魔术师需要两名助手。魔术开始后,他不能再与助手交流,助手之间也不能交流。魔术师会给伯爵一副包含 $2N + 1$ 张牌的牌组,牌上写着从 $0$ 到 $2N$ 的每个数字。伯爵会抽出一张牌并将其隐藏。然后,从剩下的 $2N$ 张牌中,伯爵会选出 $N$ 张牌给第一位助手,剩下的 $N$ 张牌给第二位助手。接着,每位助手从自己收到的牌中选出两张,并按顺序展示给魔术师看(不能让另一位助手看到)。仅凭这四张牌,魔术师就能猜出德古拉隐藏的牌!
帮助魔术师,别让游客成为吸血鬼的晚餐!
你的程序将针对每个测试运行三次。第一次运行时,它将扮演第一位助手的角色。第二次运行时,它将扮演第二位助手的角色。第三次运行时,它将扮演魔术师的角色。
输入格式
输入文件 trick.in 的第一行包含一个整数 $T$,表示测试用例的数量(即该测试中魔术表演的次数)。第二行包含一个整数 $R$,属于集合 $\{1, 2, 3\}$,表示你的程序在该文件中所有测试用例中将扮演的角色。
如果 $R = 1$,则你的程序扮演第一位助手的角色。如果 $R = 2$,则你的程序扮演第二位助手的角色。在这两种情况下,第 $2i + 1$ 行($1 \le i \le T$)包含一个整数 $N_i$,表示对于第 $i$ 个测试用例,牌组将包含 $2N_i + 1$ 张牌。第 $2i + 2$ 行($1 \le i \le T$)包含 $N_i$ 个整数,表示当前助手在第 $i$ 个测试用例中收到的牌。
如果 $R = 3$,则你的程序扮演魔术师的角色。第 $2i + 1$ 行($1 \le i \le T$)包含一个整数 $N_i$,含义与上述角色相同。第 $2i + 2$ 行($1 \le i \le T$)包含四个整数,分别表示你的程序在 $R = 1$ 的运行中为第 $i$ 个测试用例打印的两张牌,以及在 $R = 2$ 的运行中为第 $i$ 个测试用例打印的两张牌。两对牌中的牌将按照你的程序在相应运行中打印的顺序给出。
输出格式
如果 $R = 1$ 或 $R = 2$,则你的程序必须在输出文件 trick.out 的第 $i$ 行($1 \le i \le T$)打印两个由单个空格分隔的整数,表示你在第 $i$ 个测试用例中展示给魔术师的两张牌。这两个数字必须不同,且必须存在于输入文件中给出的 $N_i$ 张牌中。
如果 $R = 3$,则你的程序必须在第 $i$ 行($1 \le i \le T$)打印一个整数,表示第 $i$ 个测试用例中德古拉隐藏的牌。
数据范围
- $6 \le N_i \le 1\,234\,567$ ($1 \le i \le T$)
- $S_N \le 1\,234\,567$,其中 $S_N = N_1 + N_2 + \dots + N_T$
- 对于分值为 29 分的测试,满足 $N_i = 6$ ($1 \le i \le T$)
- 对于分值为另外 19 分的测试,满足 $6 \le N_i \le 30$ ($1 \le i \le T$) 且 $S_N \le 123\,456$
- 对于分值为另外 30 分的测试,满足 $6 \le N_i \le 500$ ($1 \le i \le T$),$S_N \le 123\,456$,且至多有 10 个测试用例满足 $N_i > 50$
样例
样例输入 1
2 1 6 6 1 2 5 7 10 6 9 8 2 0 4 6
样例输出 1
1 2 8 4
样例输入 2
2 2 6 3 0 4 9 12 8 6 7 1 11 10 3 5
样例输出 2
4 3 1 3
样例输入 3
2 3 6 1 2 4 3 6 8 4 1 3
样例输出 3
11 12
说明
这三个样例代表了三次运行。
魔术表演了两次。对于第一个测试用例,第一位助手收到了牌 $1, 2, 5, 6, 7$ 和 $10$,并按顺序向魔术师展示了牌 $1$ 和 $2$。第二位助手收到了牌 $0, 3, 4, 8, 9$ 和 $12$,并按顺序向魔术师展示了牌 $4$ 和 $3$。在看到这四张牌后,魔术师运用他的魔法能力猜出德古拉隐藏的牌是 $11$。