Problem:
You are given an array a1,a2,…,an of pairwise distinct integers from 0 to n. Consider the following operation:
- consecutively for each i from 1 to n in this order, replace ai with MEX(a1,a2,…,an).
Here MEX of a collection of integers c1,c2,…,cm is defined as the smallest non-negative integer x which does not occur in the collection c. For example, MEX(0,2,2,1,4)=3 and MEX(1,2)=0.
Print the array after applying k such operations.
Input Format:
Each test contains multiple test cases. The first line contains the number of test cases t (1≤t≤105). The description of the test cases follows.
The first line of each test case contains two integers n and k (1≤n≤105, 1≤k≤109).
The second line contains n pairwise distinct integers a1,a2,…,an (0≤ai≤n) representing the elements of the array before applying the operations.
It is guaranteed that the sum of n over all test cases does not exceed 105.
Output Format:
For each test case, print all n elements of the array after applying k operations.
Note:
In the first test case, here is the entire process:
- On the first operation, the array changes from [1] to [0], since MEX(1)=0.
- On the second operation, the array changes from [0] to [1], since MEX(0)=1.
Thus, the array becomes [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].
In the third test case, the array changes as follows during one operation: [0,2]→[1,2]→[1,0]. And during the second operation: [1,0]→[2,0]→[2,1].