//Merging
#include<bits/stdc++.h>
using namespace std;
vector<int>merging(vector<int>v1, vector<int>v2){
vector<int>res;
int l1=0;
int l2=0;
int an=v1.size();
int bn=v2.size();
while(l1<an&&l2<bn){
if(v1[l1]<=v2[l2]){
res.push_back(v1[l1]);
l1++;
}
else{
res.push_back(v2[l2]);
l2++;
}
}
while(l1<an){
res.push_back(v1[l1]);
l1++;
}
while(l2<bn){
res.push_back(v2[l2]);
l2++;
}
return res;
}
int main(){
// write your code here
int m;
cin>>m;
while(m--){
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<<endl;
}
return 0;
}
Ly9NZXJnaW5nCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnZlY3RvcjxpbnQ+bWVyZ2luZyh2ZWN0b3I8aW50PnYxLCB2ZWN0b3I8aW50PnYyKXsKICAgIHZlY3RvcjxpbnQ+cmVzOwogICAgaW50IGwxPTA7CiAgICBpbnQgbDI9MDsKICAgaW50IGFuPXYxLnNpemUoKTsKICAgaW50IGJuPXYyLnNpemUoKTsKICAgIHdoaWxlKGwxPGFuJiZsMjxibil7CiAgICAgICAgaWYodjFbbDFdPD12MltsMl0pewogICAgICAgICAgICByZXMucHVzaF9iYWNrKHYxW2wxXSk7CiAgICAgICAgICAgIGwxKys7CiAgICAgICAgfQogICAgICAgIGVsc2V7CiAgICAgICAgICAgIHJlcy5wdXNoX2JhY2sodjJbbDJdKTsKICAgICAgICAgICAgbDIrKzsKICAgICAgICB9CiAgICB9CiAgICB3aGlsZShsMTxhbil7CiAgICAgICAgcmVzLnB1c2hfYmFjayh2MVtsMV0pOwogICAgICAgICAgICBsMSsrOwogICAgfQogICAgd2hpbGUobDI8Ym4pewogICAgICAgIHJlcy5wdXNoX2JhY2sodjJbbDJdKTsKICAgICAgICAgICAgbDIrKzsKICAgIH0KICAgIHJldHVybiByZXM7Cn0KaW50IG1haW4oKXsKICAgLy8gd3JpdGUgeW91ciBjb2RlIGhlcmUKICAgaW50IG07CiAgIGNpbj4+bTsKICAgd2hpbGUobS0tKXsKICAgaW50IGFuLGJuOwogICBjaW4+PmFuPj5ibjsKICAgdmVjdG9yPGludD52MShhbik7CiAgIGZvcihpbnQgaT0wO2k8YW47aSsrKXsKICAgICAgIGNpbj4+djFbaV07CiAgIH0KICAgdmVjdG9yPGludD52Mihibik7CiAgIGZvcihpbnQgaj0wO2o8Ym47aisrKXsKICAgICAgIGNpbj4+djJbal07CiAgIH0KICAgdmVjdG9yPGludD4gdihhbitibik7CiAgIHY9bWVyZ2luZyh2MSx2Mik7CiAgIGZvcihpbnQgaT0wO2k8YW4rYm47aSsrKXsKICAgICAgIGNvdXQ8PHZbaV08PCIgIjsKICAgfQogICBjb3V0PDxlbmRsOyAKICAgfSAgCiAgICByZXR1cm4gMDsKfQ==