import java.util.*;
import java.lang.*;
import java.io.*;
class GFG
{
{
//code
int t
= Integer.
parseInt(read.
readLine()); while(t-- > 0)
{
String str
[] = read.
readLine().
trim().
split(" "); HashMap
<Integer, Integer
> map
= new HashMap
<>(); HashSet<Integer> set = new HashSet<>();
str = read.readLine().trim().split(" ");
for (int i = 0; i < n1; i++) {
int key
= Integer.
parseInt(str
[i
]); if (map.containsKey(key)) {
map.put(key, map.get(key)+1);
} else {
map.put(key, 1);
}
}
str = read.readLine().trim().split(" ");
int[] arr = new int[n1];
int arrIndex = 0;
for(int i = 0; i < n2; i++) {
int key
= Integer.
parseInt(str
[i
]); if(map.containsKey(key)) {
int nTimes = map.get(key);
while(nTimes>0) {
arr[arrIndex] = key;
arrIndex++;
nTimes--;
}
map.remove(key);
}
}
List<Integer> keys = new ArrayList<>();
{
// search for value
int nT = map.get(key);
while(nT>0){
keys.add(key);
nT--;
}
}
for(int i=0;i<keys.size(); i++){
arr[arrIndex] = keys.get(i);
arrIndex++;
}
for (int i = 0; i < arrIndex; i++) {
}
}
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmNsYXNzIEdGRwogewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBFeGNlcHRpb24KCSB7CgkgLy9jb2RlCgkgICAgQnVmZmVyZWRSZWFkZXIgcmVhZCA9IG5ldyBCdWZmZXJlZFJlYWRlcihuZXcgSW5wdXRTdHJlYW1SZWFkZXIoU3lzdGVtLmluKSk7CiAgICAgICAgaW50IHQgPSBJbnRlZ2VyLnBhcnNlSW50KHJlYWQucmVhZExpbmUoKSk7CiAgICAgICAgd2hpbGUodC0tID4gMCkKICAgICAgICB7CiAgICAgICAgICAgIFN0cmluZyBzdHJbXSA9IHJlYWQucmVhZExpbmUoKS50cmltKCkuc3BsaXQoIiAiKTsKICAgICAgICAgICAgaW50IG4xPUludGVnZXIucGFyc2VJbnQoc3RyWzBdKTsKICAgICAgICAgICAgaW50IG4yPUludGVnZXIucGFyc2VJbnQoc3RyWzFdKTsKICAgICAgICAgICAgSGFzaE1hcDxJbnRlZ2VyLCBJbnRlZ2VyPiBtYXAgPSBuZXcgSGFzaE1hcDw+KCk7CiAgICAgICAgICAgIEhhc2hTZXQ8SW50ZWdlcj4gc2V0ID0gbmV3IEhhc2hTZXQ8PigpOwogICAgICAgICAgICAKICAgICAgICAgICAgc3RyID0gcmVhZC5yZWFkTGluZSgpLnRyaW0oKS5zcGxpdCgiICIpOwogICAgICAgICAgICAKICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuMTsgaSsrKSB7CiAgICAgICAgICAgICAgICBpbnQga2V5ID0gSW50ZWdlci5wYXJzZUludChzdHJbaV0pOwogICAgICAgICAgICAgICAgaWYgKG1hcC5jb250YWluc0tleShrZXkpKSB7CiAgICAgICAgICAgICAgICAgICAgbWFwLnB1dChrZXksIG1hcC5nZXQoa2V5KSsxKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgbWFwLnB1dChrZXksIDEpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICBzdHIgPSByZWFkLnJlYWRMaW5lKCkudHJpbSgpLnNwbGl0KCIgIik7CiAgICAgICAgICAgIGludFtdIGFyciA9IG5ldyBpbnRbbjFdOwogICAgICAgICAgICBpbnQgYXJySW5kZXggPSAwOwoKICAgICAgICAgICAgZm9yKGludCBpID0gMDsgaSA8IG4yOyBpKyspIHsKICAgICAgICAgICAgCWludCBrZXkgPSBJbnRlZ2VyLnBhcnNlSW50KHN0cltpXSk7CiAgICAgICAgICAgICAgIGlmKG1hcC5jb250YWluc0tleShrZXkpKSB7CiAgICAgICAgICAgICAgIAlpbnQgblRpbWVzID0gbWFwLmdldChrZXkpOwogICAgICAgICAgICAgICAJd2hpbGUoblRpbWVzPjApIHsKICAgICAgICAgICAgICAgCQlhcnJbYXJySW5kZXhdID0ga2V5OwogICAgICAgICAgICAgICAJCWFyckluZGV4Kys7CiAgICAgICAgICAgICAgIAkJblRpbWVzLS07CiAgICAgICAgICAgICAgIAl9CiAgICAgICAgICAgICAgIAltYXAucmVtb3ZlKGtleSk7CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIExpc3Q8SW50ZWdlcj4ga2V5cyA9IG5ldyBBcnJheUxpc3Q8PigpOwogICAgICAgICAgICBmb3IgKEludGVnZXIga2V5IDogbWFwLmtleVNldCgpKSAgCiAgICAgICAgeyAKICAgICAgICAgICAgLy8gc2VhcmNoICBmb3IgdmFsdWUgCiAgICAgICAgICAgIGludCBuVCA9IG1hcC5nZXQoa2V5KTsgCiAgICAgICAgICAgIHdoaWxlKG5UPjApewogICAgICAgICAgICBrZXlzLmFkZChrZXkpOwogICAgICAgICAgICBuVC0tOwogICAgICAgICAgICB9CiAgICAgICAgfSAKICAgICAgICAgICAgICAgIAogICAgICAgIAlDb2xsZWN0aW9ucy5zb3J0KGtleXMpOwogICAgICAgIAlmb3IoaW50IGk9MDtpPGtleXMuc2l6ZSgpOyBpKyspewogICAgICAgIAkJYXJyW2FyckluZGV4XSA9IGtleXMuZ2V0KGkpOwogICAgICAgIAkJYXJySW5kZXgrKzsKICAgICAgICAJfQogICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGFyckluZGV4OyBpKyspIHsKICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihhcnJbaV0pOwogICAgICAgICAgICB9CgogICAgICAgIH0KCSAKfQp9