#CF2044D. D. Harder Problem

D. Harder Problem

D. Harder Problem
时间限制:每测试 22
内存限制:每测试 256256 MB

给定一个正整数序列,若某个正整数在该序列中出现的次数最多,则称其为该序列的众数。例如,[2,2,3][2,2,3] 的众数是 22。对于 [9,9,8,8,7,7][9,9,8,8,7,7]998877 中的任意一个都可被视为众数。

你给了 UFO 一个长度为 nn 的数组 aa。为了感谢你,UFO 决定构造另一个长度为 nn 的数组 bb,使得对于所有 1in1 \le i \le naia_i 是序列 [b1,b2,,bi][b_1, b_2, \dots, b_i] 的一个众数。

然而 UFO 不知道如何构造数组 bb,所以你必须帮助她。注意,对于所有 1in1 \le i \le n,必须满足 1bin1 \le b_i \le n

输入格式
第一行包含一个整数 tt (1t1041 \le t \le 10^4) —— 测试数据组数。
每组测试数据的第一行包含一个整数 nn (1n21051 \le n \le 2 \cdot 10^5) —— 数组 aa 的长度。
接下来的一行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n (1ain1 \le a_i \le n)。
保证所有测试数据的 nn 之和不超过 21052 \cdot 10^5

输出格式
对于每组测试数据,在新的一行输出 nn 个数字 b1,b2,,bnb_1, b_2, \dots, b_n (1bin1 \le b_i \le n)。可以证明数组 bb 总是可以被构造出来。如果存在多个可能的数组,输出任意一个即可。

样例
输入

4
2
1 2
4
1 1 1 2
8
4 5 5 5 1 1 2 1
10
1 1 2 2 1 1 3 3 1 1

输出

1 2
1 1 2 2
4 5 5 1 1 2 2 3
1 8 2 2 1 3 3 9 1 1

说明
以样例中第二组测试数据的输出为例验证正确性:

  • i=1i=1 时,[1][1] 的众数只能是 11
  • i=2i=2 时,[1,1][1,1] 的众数只能是 11
  • i=3i=3 时,[1,1,2][1,1,2] 的众数只能是 11
  • i=4i=4 时,[1,1,2,2][1,1,2,2] 的众数可以是 1122。由于 a4=2a_4=2,该数组是合法的。