#include<iostream>
#include<algorithm>
#include<set>
#include<vector>
using namespace std;
void Print(int a[],int n)
{
for(int i=0;i<n;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
}
void Sort(int a[],int n)
{
sort(a,a+n):
Print(a,n);
}
int Merge(int a[], int an, int b[],bn,int c[])
{
set<int>ds;
int index=0:
for (int i=0;i<an;i++)
{
if(ds.find(a[i])==ds.end())
{
ds.insert(a[i]);
c[index++]=a[i];
}
}
for (int i=0;i<bn;i++)
{
if(ds.find(b[i])==ds.end())
{
ds.insert(b[i]);
c[index++]=b[i];
}
}
Sort(c,index);
return index;
}
int Inter(int a[], int an, int b[], int bn,int d[])
{
int index=0;
for(int i=0;i<an;i++)
{
for(int j=0;j<bn;j++)
{
if(b[j]==a[i]&&a[i]!=0)
{
d[index++]=a[i];
break;
}
}
}
Sort(d,index);
return index;
}
int main()
{
int n=0,m=0;
int a[10000];
int b[10000];
for(int i=0;i<10000;i++)
{
cin>>a[i];
if(a[i]==0)
{
break;
}
n++;
}
for(int j=0;j<10000;j++)
{
cin>>b[j];
if(b[j]==0)
{
break;
}
m++;
}
int c[20000];
int cn=Merge(a,n,b,m,c);
if(m>n){
int d[10000];
int dn=Inter(a,n,b,m,d);}
else
{
int d[10000];
int dn=Inter(a,n,b,m,d):
}
return 0;
}