//Merging
#include<bits/stdc++.h>
using namespace std;
vector<int>merging(vector<int>v1, vector<int>v2){
vector<int>res;
int p1=0;
int p2=0;
int an=v1.size();
int bn=v2.size();
while(p1<an&&p2<bn){
if(v1[p1]<=v2[p2]){
res.push_back(v1[p1]);
p1++;
}
else{
res.push_back(v2[p2]);
p2++;
}
}
while(p1<an){
res.push_back(v1[p1]);
p1++;
}
while(p2<bn){
res.push_back(v2[p2]);
p2++;
}
return res;
}
int main(){
// write your code here
int t;
cin>>t;
while(t--){
int an,bn;
cin>>an>>bn;
vector<int>v1(an);
for(int i=0;i<an;i++){
cin>>v1[i];
}
vector<int>v2(bn);
for(int j=0;j<bn;j++){
cin>>v2[j];
}
vector<int> v(an+bn);
v=merging(v1,v2);
for(int i=0;i<an+bn;i++){
cout<<v[i]<<" ";
}
cout<<"\n";
}
return 0;
}
Ly9NZXJnaW5nCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnZlY3RvcjxpbnQ+bWVyZ2luZyh2ZWN0b3I8aW50PnYxLCB2ZWN0b3I8aW50PnYyKXsKICAgIHZlY3RvcjxpbnQ+cmVzOwogICAgaW50IHAxPTA7CiAgICBpbnQgcDI9MDsKICAgaW50IGFuPXYxLnNpemUoKTsKICAgaW50IGJuPXYyLnNpemUoKTsKICAgIHdoaWxlKHAxPGFuJiZwMjxibil7CiAgICAgICAgaWYodjFbcDFdPD12MltwMl0pewogICAgICAgICAgICByZXMucHVzaF9iYWNrKHYxW3AxXSk7CiAgICAgICAgICAgIHAxKys7CiAgICAgICAgfQogICAgICAgIGVsc2V7CiAgICAgICAgICAgIHJlcy5wdXNoX2JhY2sodjJbcDJdKTsKICAgICAgICAgICAgcDIrKzsKICAgICAgICB9CiAgICB9CiAgICB3aGlsZShwMTxhbil7CiAgICAgICAgcmVzLnB1c2hfYmFjayh2MVtwMV0pOwogICAgICAgICAgICBwMSsrOwogICAgfQogICAgd2hpbGUocDI8Ym4pewogICAgICAgIHJlcy5wdXNoX2JhY2sodjJbcDJdKTsKICAgICAgICAgICAgcDIrKzsKICAgIH0KICAgIHJldHVybiByZXM7Cn0KaW50IG1haW4oKXsKICAgLy8gd3JpdGUgeW91ciBjb2RlIGhlcmUKICAgaW50IHQ7CiAgIGNpbj4+dDsKICAgd2hpbGUodC0tKXsKICAgaW50IGFuLGJuOwogICBjaW4+PmFuPj5ibjsKICAgdmVjdG9yPGludD52MShhbik7CiAgIGZvcihpbnQgaT0wO2k8YW47aSsrKXsKICAgICAgIGNpbj4+djFbaV07CiAgIH0KICAgdmVjdG9yPGludD52Mihibik7CiAgIGZvcihpbnQgaj0wO2o8Ym47aisrKXsKICAgICAgIGNpbj4+djJbal07CiAgIH0KICAgdmVjdG9yPGludD4gdihhbitibik7CiAgIHY9bWVyZ2luZyh2MSx2Mik7CiAgIGZvcihpbnQgaT0wO2k8YW4rYm47aSsrKXsKICAgICAgIGNvdXQ8PHZbaV08PCIgIjsKICAgfQogICBjb3V0PDwiXG4iOwogICB9ICAKICAgIHJldHVybiAwOwp9