#include <iostream>
#include <vector>
using namespace std;
int main()
{
int n, m;
int count = 0;
int num;
int big;
vector<int> nums1, nums2;
cin >> n;
cin >> m;
while(count < n)
{
cin >> num;
nums2.push_back(num);
count++;
cout << num << " ";
}
cout << endl;
count = 0;
while (count < n+m)
{
cin >> num;
nums1.push_back(num);
count++;
cout << num << " ";
}
cout << endl;
m--;
n--;
for (vector<int>::reverse_iterator ritr=nums1.rbegin(); ritr != nums1.rend(); ritr++)
{
if (m < 0)
{
//move the rest of the nums2
for (; n >= 0; n--)
{
*ritr = nums2[n];
cout << *ritr << endl;
ritr++;
}
break;
}
else if (n < 0)
{
cout << *ritr << endl;
}
else
{
if (nums1[m] > nums2[n])
{
big = nums1[m];
m--;
}
else
{
big = nums2[n];
n--;
}
*ritr = big;
cout << *ritr << endl;
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkKewoJaW50IG4sIG07CglpbnQgY291bnQgPSAwOwoJaW50IG51bTsKCWludCBiaWc7Cgl2ZWN0b3I8aW50PiBudW1zMSwgbnVtczI7CiAKCWNpbiA+PiBuOwoJY2luID4+IG07CiAKCXdoaWxlKGNvdW50IDwgbikKCXsKCQljaW4gPj4gbnVtOwoJCW51bXMyLnB1c2hfYmFjayhudW0pOwoJCWNvdW50Kys7CgkJY291dCA8PCBudW0gPDwgIiAiOwoJfQoJY291dCA8PCBlbmRsOwoJY291bnQgPSAwOwoJd2hpbGUgKGNvdW50IDwgbittKQoJewoJCWNpbiA+PiBudW07CgkJbnVtczEucHVzaF9iYWNrKG51bSk7CgkJY291bnQrKzsKCQljb3V0IDw8IG51bSA8PCAiICI7Cgl9Cgljb3V0IDw8IGVuZGw7CgltLS07CgluLS07CgoJZm9yICh2ZWN0b3I8aW50Pjo6cmV2ZXJzZV9pdGVyYXRvciByaXRyPW51bXMxLnJiZWdpbigpOyByaXRyICE9ICBudW1zMS5yZW5kKCk7IHJpdHIrKykKCXsKCQlpZiAobSA8IDApCgkJewoJCQkvL21vdmUgdGhlIHJlc3Qgb2YgdGhlIG51bXMyCgkJCWZvciAoOyBuID49IDA7IG4tLSkKCQkJewoJCQkJKnJpdHIgPSBudW1zMltuXTsKCQkJCWNvdXQgPDwgKnJpdHIgPDwgZW5kbDsKCQkJCXJpdHIrKzsKCQkJfQoJCQlicmVhazsKCQl9CgkJZWxzZSBpZiAobiA8IDApCgkJewoJCQljb3V0IDw8ICpyaXRyIDw8IGVuZGw7CgkJfQoJCWVsc2UKCQl7CgkJCWlmIChudW1zMVttXSA+IG51bXMyW25dKQoJCQl7CgkJCQliaWcgPSBudW1zMVttXTsKCQkJCW0tLTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCWJpZyA9IG51bXMyW25dOwoJCQkJbi0tOwoJCQl9CgkJCSpyaXRyID0gYmlnOwoJCQljb3V0IDw8ICpyaXRyIDw8IGVuZGw7CgkJfQoJfQoJcmV0dXJuIDA7Cn0=