CF BUDDY
← Problems·

1863C · MEX Repetition

1100 · implementation, math

Problem: 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 Format: 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 Format: 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: [ ⁣0 ⁣,1,3][2, ⁣1 ⁣,3][2,0, ⁣3 ⁣][2,0,1][{\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: [ ⁣0 ⁣,2][1, ⁣2 ⁣][1,0][{\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: [ ⁣1 ⁣,0][2, ⁣0 ⁣][2,1][{\mkern3mu\underline{\mkern-3mu {\bf 1}\mkern-3mu}\mkern3mu}, 0] \rightarrow [2, {\mkern3mu\underline{\mkern-3mu {\bf 0}\mkern-3mu}\mkern3mu}] \rightarrow [2, 1].

Sample Cases

Case 1

Input

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

Output

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

Similar problems

00:00:00
Loading editor…
Welcome! I'm your coding tutor for this problem. Use the chips below to reveal stored hints or get AI feedback on your code. I'll guide you step by step — never giving away the solution.

Sign in to unlock AI tutor feedback