#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,m;
int a[1000010],b[1000010];
inline void T(){
map<int,int>mp;
for(int i=1;i<=n;i++) mp[a[i]]++;
map<int,int>::iterator iter=mp.begin();
int mex=0;
while(mp.count(mex)) mex=iter->first+1,iter++;
for(int i=1;i<=n;i++){
int u=a[i];
if(mp[u]==1) a[i]=min(mex,u);
else a[i]=mex;
}
m--;
}
inline void solve(){
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>a[i];
T();
if(m==0){
for(int i=1;i<=n;i++) cout<<a[i]<<" ";
cout<<"\n";
return;
}
T();
if(m==0){
for(int i=1;i<=n;i++) cout<<a[i]<<" ";
cout<<"\n";
return;
}
for(int i=1;i<=n;i++) b[i]=a[i];
T();
if(m%2==0){
for(int i=1;i<=n;i++) cout<<a[i]<<" ";
cout<<"\n";
return;
}
else{
for(int i=1;i<=n;i++) cout<<b[i]<<" ";
cout<<"\n";
return;
}
}
int main() {
freopen("bili.in","w",stdout);
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
int t;
cin>>t;
while(t--) solve();
return 0;
}