CF1863C.MEX Repetition

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

MEX Repetition

You are given an array a1,a2,,ana_1,a_2,\ldots, a_n of pairwise distinct integers from 00 to nn. Consider the following operation:

  • consecutively for each ii from 11 to nn in this order, replace aia_i with MEX(a1,a2,,an)\operatorname{MEX}(a_1, a_2, \ldots, a_n).

Here MEX\operatorname{MEX} of a collection of integers c1,c2,,cmc_1, c_2, \ldots, c_m is defined as the smallest non-negative integer xx which does not occur in the collection cc. For example, MEX(0,2,2,1,4)=3\operatorname{MEX}(0, 2, 2, 1, 4) = 3 and MEX(1,2)=0\operatorname{MEX}(1, 2) = 0.

Print the array after applying kk such operations.

Input

Each test contains multiple test cases. The first line contains the number of test cases tt (1t1051 \le t \le 10^5). The description of the test cases follows.

The first line of each test case contains two integers nn and kk (1n1051\le n\le 10^5, 1k1091\le k\le 10^9).

The second line contains nn pairwise distinct integers a1,a2,,ana_1,a_2,\ldots, a_n (0ain0\le a_i\le n) representing the elements of the array before applying the operations.

It is guaranteed that the sum of nn over all test cases does not exceed 10510^5.

Output

For each test case, print all nn elements of the array after applying kk operations.

Note

In the first test case, here is the entire process:

  1. On the first operation, the array changes from [1][1] to [0][0], since MEX(1)=0\operatorname{MEX}(1) = 0.
  2. On the second operation, the array changes from [0][0] to [1][1], since MEX(0)=1\operatorname{MEX}(0) = 1.

Thus, the array becomes [1][1] after two operations.

In the second test case, the array changes as follows during one operation: $[{\mkern3mu\underline{\mkern-3mu {\bf 0}\mkern-3mu}\mkern3mu}, 1, 3] \rightarrow [2, {\mkern3mu\underline{\mkern-3mu {\bf 1}\mkern-3mu}\mkern3mu}, 3] \rightarrow [2, 0, {\mkern3mu\underline{\mkern-3mu {\bf 3}\mkern-3mu}\mkern3mu}] \rightarrow [2, 0, 1]$.

In the third test case, the array changes as follows during one operation: $[{\mkern3mu\underline{\mkern-3mu {\bf 0}\mkern-3mu}\mkern3mu}, 2] \rightarrow [1, {\mkern3mu\underline{\mkern-3mu {\bf 2}\mkern-3mu}\mkern3mu}] \rightarrow [1, 0]$. And during the second operation: $[{\mkern3mu\underline{\mkern-3mu {\bf 1}\mkern-3mu}\mkern3mu}, 0] \rightarrow [2, {\mkern3mu\underline{\mkern-3mu {\bf 0}\mkern-3mu}\mkern3mu}] \rightarrow [2, 1]$.

Samples

5
1 2
1
3 1
0 1 3
2 2
0 2
5 5
1 2 3 4 5
10 100
5 3 0 4 2 1 6 9 10 8
1
2 0 1
2 1
2 3 4 5 0
7 5 3 0 4 2 1 6 9 10

在线编程 IDE

建议全屏模式获得最佳体验