import java.util.*;
class ListNode{
int val;
ListNode next;
public ListNode(int val){
this.val=val;
}
}
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
ListNode list1 = createList(sc.nextLine().split(" "));
ListNode list2 = createList(sc.nextLine().split(" "));
ListNode list = combineList(list1,list2);
while(list!=null){
System.out.print(list.val+" ");
list=list.next;
}
}
public static ListNode createList(String[] str){
if(str==null||str.length==0)
return null;
ListNode pre = new ListNode(0);
ListNode list = pre;
for(int i=0;i<str.length;i++) {
list.next= new ListNode(Integer.parseInt(str[i]));
list=list.next;
}
return pre.next;
}
public static ListNode combineList(ListNode list1,ListNode list2){
if(list1==null) return list2;
if(list2==null) return list1;
ListNode pre = new ListNode(0);
ListNode list=pre;
while(list1!=null||list2!=null) {
if(list1.val<list2.val) {
list.next=new ListNode(list1.val);
list1=list1.next;
}
else {
list.next = new ListNode(list2.val);
list2=list2.next;
}
list=list.next;
if(list1==null) list.next=list2;
if(list2==null) list.next=list1;
}
return pre.next;
}
} public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String[] s1 = in.nextLine().split(" ");
String[] s2 = in.nextLine().split(" ");
int[] a = new int[s1.length];
int[] b = new int[s2.length];
int[] t = new int[s1.length+s2.length];
for (int i=0;i<s1.length;i++){
a[i] = Integer.parseInt(s1[i]);
}
for (int i=0;i<s2.length;i++){
b[i] = Integer.parseInt(s2[i]);
}
int i=0,j=0,k=0;
while (i<a.length && j<b.length){
if (a[i] < b[j])
t[k++] = a[i++];
else
t[k++] = b[j++];
}
while (i < a.length)
t[k++] = a[i++];
while (j < b.length)
t[k++] = b[j++];
for(i=0;i<t.length;i++)
System.out.print(t[i]+" ");
}
}