#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define size 20
typedef struct{
int elem[size];
int last;
}list;
void init(list *p);
void print(int c[],int n);
void pai(list *p,list *q,int m[]);
int main(){
int n;
list *a;
list *b;
a = (list*)malloc(sizeof(list));
b = (list*)malloc(sizeof(list));
scanf("%d",&a->last);
init(a);
scanf("%d",&b->last);
n=a->last+b->last;
int *c=(int*)malloc(n* sizeof(int));
init(b);
pai(a,b,c);
print(c,n);
return 0;
}
void init(list *p){
int i;
for(i=0;i<p->last;i++){
scanf("%d",&p->elem[i]);
}
}
void print(int c[],int n){
int i;
for(i=0;i<n;i++){
printf("%d\n", c[i]);
}
}
void pai(list *p, list *q, int m[]){
int i = 0, j = 0, k = 0;
while(i < p->last && j < q->last){
if(p->elem[i] <= q->elem[j]){
m[k++] = p->elem[i++];
}
else{
m[k++] = q->elem[j++];
}
}
while(i < p->last){
m[k++] = p->elem[i++];
}
while(j < q->last){
m[k++] = q->elem[j++];
}
}