该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

还原排列

题目描述

Y 同学有一个长度为 nn 的排列 pp。长度为 nn 的排列是由 1,2,,n1,2,\ldots,nnn 个整数各出现一次组成的序列。

现在Y 同学把两个完全相同的排列 pp 合并成了一个长度为 2n2n 的序列 aa。合并时,需要保持每一个排列内部元素的相对顺序不变。

也就是说,可以看成有两份相同的排列 pp,每次从其中一份还没有取出的元素中取出当前最靠前的一个,放到新序列 aa 的末尾,直到两份排列的所有元素都被取完。

例如,当 p=[3,1,2]p=[3,1,2] 时,可能得到:

$$[3,1,2,3,1,2],\quad [3,3,1,1,2,2],\quad [3,1,3,1,2,2]。 $$

现在给定合并后的序列 aa,请你还原原来的排列 pp

保证答案存在且唯一。

输入格式

第一行包含一个整数 TT,表示测试数据组数。

接下来依次给出 TT 组数据。对于每组数据:

第一行包含一个整数 nn

第二行包含 2n2n 个整数 a1,a2,,a2na_1,a_2,\ldots,a_{2n},表示合并后的序列。

输出格式

对于每组数据,输出一行 nn 个整数,表示还原出的排列 pp

相邻两个整数之间用一个空格隔开。

样例

样例输入 #1

5
2
1 1 2 2
4
1 3 1 4 3 4 2 2
5
1 2 1 2 3 4 3 5 4 5
3
1 2 3 1 2 3
4
2 3 2 4 1 3 4 1

样例输出 #1

1 2
1 3 4 2
1 2 3 4 5
1 2 3
2 3 4 1

样例解析

对于第一组数据,合并后的序列为 [1,1,2,2][1,1,2,2]。第一次出现的不同数字依次是 1,21,2,所以原排列为 [1,2][1,2]

对于第二组数据,合并后的序列为 [1,3,1,4,3,4,2,2][1,3,1,4,3,4,2,2]。从左到右扫描,数字第一次出现的顺序为 1,3,4,21,3,4,2,因此原排列为 [1,3,4,2][1,3,4,2]

数据范围与约定

对于 100%100\% 的数据,保证 1T4001\le T\le 4001n501\le n\le 501ain1\le a_i\le n,并且每组数据中的 aa 一定可以由某个长度为 nn 的排列与自身合并得到,答案存在且唯一。

测试点编号 分值 TT \le nn \le 特殊性质
1-2 10 2020 55
3-5 15 5050 1010 特殊性质 A
6-8 100100 2020 特殊性质 B
9-12 20 200200 5050 特殊性质 C
13-16 400400
17-20
  • 特殊性质 A:保证每组数据的原排列为 [1,2,,n][1,2,\ldots,n]
  • 特殊性质 B:保证每组数据的合并序列形如 p1,p1,p2,p2,,pn,pnp_1,p_1,p_2,p_2,\ldots,p_n,p_n
  • 特殊性质 C:保证每组数据中 n=50n=50