#include
int main(){
int n,m,i,j,temp,k=0,l=0,p=0,q=0;
int flag1=0,flag2=0,flag3=0;
int a[1000]={0},b[1000]={0};
int jiaoji[1000]={0},bingji[2000]={0};
scanf("%d",&n);
for(i=0;i scanf("%d",&a[i]);
}
scanf("%d",&m);
for(i=0;i scanf("%d",&b[i]);
}
for(i=0;i for(j=i;j if(a[i]>=a[j]){
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
for(i=0;i bingji[i]=a[i];
}
for(i=0;i for(j=i;j if(b[i]>=b[j]){
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
}
p=n;
for(i=0,j=0;i while(j if(a[i]==b[j]){
jiaoji[k]=a[i];
k++;
}
else if(b[j]>bingji[i]&&b[j] for(l=p-1;l>i;l--){
bingji[l+1]=bingji[l];
}
bingji[i+1]=b[j];
p++;
}
j++;
}
j=0;
}
p-=1;
for(i=0;i if(b[i]>bingji[p]){
bingji[++p]=b[i];
}
}
while(jiaoji[q]!=0){
printf("%d ",jiaoji[q]);
q++;
flag1=1;
}
if(flag1==1)
printf("\n");
p=0;
while(bingji[p]!=0){
printf("%d ",bingji[p]);
p++;
flag2=1;
}
if(flag2==1)
printf("\n");
p=0;
for(i=0;i<n;i++){
for(j=0;j<q;j++){
if(a[i]==jiaoji[j])
break;
}
if(j==q){
printf("%d ",a[i]);
flag3=1;
}
}
if(flag3==1)
printf("\n");
return 0;
}