semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
void scan_(int m,int*a,int n,int*b);
void sort_(int m,int*a,int n,int*b);
void print_(int m,int*a,int n,int*b);

int main()
{
int m,n,*a,*b;
scanf("%d %d",&m,&n);   
a=(int*)malloc(m*sizeof(int));
b=(int*)malloc(n*sizeof(int)); 
scan_(m,a,n,b);
sort_(m,a,n,b);
print_(m,a,n,b);
return 0;    
}

void scan_(int m,int*a,int n,int*b)
{
    int i,j,*p;      //???????????? 
   
    p=a;
    for(i=0;i<m;i++) //???????????????????? ?? 
    scanf("%d",p++);
    p=b;
    for(j=0;j<n;j++)
    scanf("%d",p++);
    
}


void sort_(int m,int*a,int n,int*b)
{
  int i,j,t,*q;
  for(i=0;i<m-1;i++) 
  {
      q=a;   
      for(j=0;j<m-1-i;j++)  
      { 
        if(*q>*(q+1))  {t=*q;*q=*(q+1);*(q+1)=t;}
        q++;
       }
   }    
  
  for(i=0;i<n-1;i++) 
  {
        q=b;   
        for(j=0;j<n-1-i;j++)  
      { 
        if(*q>*(q+1))  {t=*q;*q=*(q+1);*(q+1)=t;}
        q++;
      }
  }      
} 

void print_(int m,int*a,int n,int*b)
{
int i,*p;
printf("%d",*a);
p=a+1;
for(i=1;i<m;i++,p++)    
printf(" %d",*p);
p=b;    
for(i=0;i<n;i++,p++)
printf(" %d",*p);
printf("\n");    
}
int n,m;
void f1(int a[1000],int b[1000])
{
	int i;
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	for(i=0;i<m;i++)
		scanf("%d",&b[i]);
}
void f2(int a[1000],int b[1000])
{
	int i,j,t;
	for(j=0;j<(n-1);j++)
	{for(i=(n-1);i>j;i--)
	{if(a[i]<a[i-1])
	{t=a[i];
	a[i]=a[i-1];
	a[i-1]=t;}}}
	for(j=0;j<(n-1);j++)
	{for(i=(m-1);i>j;i--)
	{if(b[i]<b[i-1])
	{t=b[i];
	b[i]=b[i-1];
	b[i-1]=t;}}}
}
void f3(int a[1000],int b[1000])
{
	int i;
	for(i=0;i<m;i++)
		a[n+i]=b[i];
}
void f4(int a[1000])
{
	int i;
	for(i=0;i<(n+m);i++)
	{printf("%d",a[i]);
	if(i!=(n+m-1)) printf(" ");}
}
int main()
{
	int a[1000],b[1000];
	scanf("%d %d",&n,&m);
	f1(a,b);
	f2(a,b);
	f3(a,b);
	f4(a);
}
void guochen(int array[],int n)
{
	int a,i,j;
	for(a=0;a<n;a++)
		scanf("%d",&array[a]);
	for(i=0;i<n-1;i++)
	{
		for(j=i+1;j<n;j++)
		{
			if(array[j]<array[i])
			{
				int k;
				k=array[i];
				array[i]=array[j];
				array[j]=k;
			}
		}
	}
}
void shuchu(int one[],int n,int two[],int m)
{
	int i,j;
	printf("%d",one[0]);
	for(i=1;i<n;i++)
		printf(" %d",one[i]);
	for(j=0;j<m;j++)
		printf(" %d",two[j]);
}
void main()
{
	int n,m,one[100],two[100];
	scanf("%d %d",&n,&m);
	guochen(one,n);
	guochen(two,m);
	shuchu(one,n,two,m);
}
int n1,n2;
int*p1;
int*p2;
int*p3;
main()
{
     scanf("%d %d",&n1,&n2);
     p1=(int*)malloc(n1*sizeof(int));
     p2=(int*)malloc(n2*sizeof(int));
     for(int k=0;k<n1;k++)
     scanf("%d",&p1[k]);
     for(int k=0;k<n2;k++)
     scanf("%d",&p2[k]);
     for(int k=n1-1;k>0;k--)
    {
            for(int i=0;i<k;i++)
            {
                    if(p1[i]>p1[i+1])
                    {
                                   int t;
                                   t=p1[i];
                                   p1[i]=p1[i+1];
                                   p1[i+1]=t;
                    }
            }
    }
    
    for(int k=n2-1;k>0;k--)
    {
            for(int i=0;i<k;i++)
            {
                    if(p2[i]>p2[i+1])
                    {
                                   int t;
                                   t=p2[i];
                                   p2[i]=p2[i+1];
                                   p2[i+1]=t;
                    }
            }
    } 
    p3=(int*)malloc((n1+n2)*sizeof(int));
    for(int k=0;k<n1;k++)
    p3[k]=p1[k];
    for(int i=n1;i<n1+n2;i++)
    p3[i]=p2[i-n1];   
    int c;
     for(c=0;c<n1+n2;c++)
     {
                           if(c==0)
                           printf("%d",p3[0]);
                           else printf(" %d",p3[c]);
     }
     
}
int num[2];
int a[100], b[100], c[100];
void getarray(int a[], int b[], int num[])
{
	cin >> num[0] >> num[1];
	for (int i = 0; i < num[0] ; i++)
		cin >> a[i];
	for (int i = 0 ;i < num[1] ; i++)
		cin >> b[i];
}
void sort(int a[],int b[] ,int af ,int bf)
{
	int temp;
	for (int i = 0 ; i < af - 1; i++)
	{
		for (int j = 1 ; j < af - i ; j++)
		{
			if (a[j] < a[j-1])
			{
				temp = a[j];
				a[j] = a[j - 1];
				a[j - 1] = temp;
			}
		}
	}
	for (int i = 0 ; i < bf - 1; i++)
	{
		for (int j = 1 ; j < bf - i ; j++)
		{
			if (b[j] < b[j-1])
			{
				temp = b[j];
				b[j] = b[j - 1];
				b[j - 1] = temp;
			}
		}
	}  
}
void combine(int a[],int b[], int c[], int af, int bf)
{
	for (int i = 0 ; i < af ; i++)
		c[i] = a[i];
	for (int i = af; i < af + bf ;i++)
		c[i] = b[i - af];
}
void print(int c[],int af, int bf)
{
	cout << c[0];
	for (int i = 1 ; i < af + bf ; i++)
		cout << ' ' << c[i];
}
int main()
{
	getarray(a,b,num);
	sort(a,b,num[0],num[1]);
	combine(a,b,c,num[0],num[1]);
	print(c,num[0],num[1]);
}
//******************************************
//?????????
//??????
int x,y,a[100],b[100],temp;//??????
int input()//???????
{
	int k=0,t=0,temp=0;
	cin>>x>>y;
	for(int i=0;i<x;i++)
		cin>>a[i];
	for(int j=0;j<y;j++)
		cin>>b[j];
	return 0;
}
int bubble()//???????
{
	for(int i=0;i<x-1;i++)
		for(int t=i+1;t<x;t++)
		{
			if(a[i]>a[t])
			{
				temp=a[t];
				a[t]=a[i];
				a[i]=temp;
			}
		}
	for(int j=0;j<y-1;j++)
		for(int t=j+1;t<y;t++)
		{
			if(b[j]>b[t])
			{
				temp=b[t];
				b[t]=b[j];
				b[j]=temp;
			}
		}
	return 0;
}
int combine()//????????????
{
	for(int i=0;i<x;i++)
		cout<<a[i]<<' ';
	for(int j=0;j<y-1;j++)
		cout<<b[j]<<' ';
	cout<<b[y-1];
	return 0;
}
int main()//???
{
	input();
	bubble();
	combine();
	return 0;
}
int m,n,a[20],b[20];
void duqu()
{
	int i;
	cin>>m>>n;
	for(i=1;i<=m;i++)
		cin>>a[i];
	for(i=1;i<=n;i++)
		cin>>b[i];
}//????
void paixu()
{
	int i,j,t;
    for(i=1;i<=m-1;i++)
		for(j=1;j<=m-i;j++)
			if(a[j]>a[j+1])
			{t=a[j];a[j]=a[j+1];a[j+1]=t;}
	for(i=1;i<=n-1;i++)
		for(j=1;j<=n-i;j++)
			if(b[j]>b[j+1])
			{t=b[j];b[j]=b[j+1];b[j+1]=t;}
}//?????
void shuchu()
{
	int i,j;
	cout<<a[1];
	for(i=2;i<=m;i++)
		cout<<" "<<a[i];
	for(j=1;j<=n;j++)
		cout<<" "<<b[j];
	cout<<endl;
}//??
int main()
{
	duqu();
	paixu();
	shuchu();//????
	return 0;
}
int main()
{
	int n, m, i;
	cin >> n >> m;
	int a[1000], b[1000];
	for (i = 0; i < n; i++)
		cin >> a[i];
	for (i = 0; i < m; i++)
		cin >> b[i];
	sort(a, a + n);
	sort(b, b + m);
	for (i = 0; i < n; i++)
		cout << a[i]<<' ';
	for (i = 0; i < m-1; i++)
		cout << b[i]<<' ';
	cout << b[m - 1];
	return 0;
}
int a[1000],b[1000];
int c[2000];
int p,q;

void read(void){//???????????????????
	cin>>p>>q;
	int i=0;
    for(i=0;i<p;i++)cin>>a[i];
    for(i=0;i<q;i++)cin>>b[i];
}

void increaseSort(void){//???????????
	sort(a+0,a+p);
	sort(b+0,b+q);
}

void merge(void){// ??????????
	int i=0;
	for(i=0;i<p;i++)c[i]=a[i];
	for(i=p;i<p+q;i++)c[i]=b[i-p];
}

void print(void){//?????????
	int i=0;
	cout<<c[0];
	for(i=1;i<p+q;i++)cout<<" "<<c[i];
	cout<<endl;
}

int main()
{
	read();
	increaseSort();
	merge();
	print();
	return 0;
}
int a,b,c[100],d[100],i,j,t;
void c1()
{
	scanf("%d %d",&a,&b);
    for(i=0;i<a;i++)
		scanf("%d",&c[i]);
	for(i=0;i<b;i++)
		scanf("%d",&d[i]);
}
void c2()
{
	for(i=0;i<a;i++)
		for(j=0;j<a-i-1;j++)
		{
			if(c[j]>c[j+1])
			{
				t=c[j];
				c[j]=c[j+1];
				c[j+1]=t;
			}
		}
	for(i=0;i<b;i++)
		for(j=0;j<b-i-1;j++)
		{
			if(d[j]>d[j+1])
			{
				t=d[j];
				d[j]=d[j+1];
				d[j+1]=t;
			}
		}
}
void c3()
{
	for(i=0;i<a;i++)
		printf("%d ",c[i]);
	for(i=0;i<b-1;i++)
		printf("%d ",d[i]);
	printf("%d",d[b-1]);
}
int main()
{
	c1();
	c2();
	c3();
	return 0;
}
/*
 *????task.cpp
 *??????
 *?????2012-11-22
 *??????????
 */



int n1,n2,num1[10001],num2[10001];

void init() // ????????
{
    int i;
    cin >> n1 >> n2;
    for (i=0;i<n1;i++) cin >> num1[i];
    for (i=0;i<n2;i++) cin >> num2[i];
}

void sort() // ??
{
    int i,j,t;
    for (i=0;i<n1-1;i++) // ?num1????
        for (j=0;j<n1-i-1;j++)
            if (num1[j]>num1[j+1])
            {
                t=num1[j];num1[j]=num1[j+1];num1[j+1]=t; // ??
            }
    for (i=0;i<n2-1;i++) // ?num2????
        for (j=0;j<n2-i-1;j++)
            if (num2[j]>num2[j+1])
            {
                t=num2[j];num2[j]=num2[j+1];num2[j+1]=t; // ??
            }
}

void merge() // ??
{
    int i,j;
    for (i=n1,j=0;j<n2;i++,j++) num1[i]=num2[j]; // ?num2??num1??
    n1+=n2;
}

void show() // ????????
{
    int i;
    cout << num1[0];
    for (i=1;i<n1;i++) cout << ' ' << num1[i];
    cout << endl;
}

int main()
{
    init(); // ????????
    sort(); // ??????????
    merge(); // ?????????
    show(); // ????????
    return 0;
}
int m,n;
int a[100],b[100];
void main()
{
	void f1();
	void f2(int s[],int k);
	void f3(int p[],int t);
         void f4(int p[],int t);
	f1();
f2(a,m);
f2(b,n);
f3(a,m);
f4(b,n);

}
 
void f1()
{int i;
scanf("%d %d",&m,&n);
for (i=0;i<m;i++)
  scanf("%d",&a[i]);
for (i=0;i<n;i++)
  scanf("%d",&b[i]);

}

void f2(int s[],int k)
{

int i,j,t;
for (j=0;j<k-1;j++)
  for (i=0;i<k-1-j;i++)
	  if(s[i]>s[i+1])
	  {t=s[i];
	  s[i]=s[i+1];
	  s[i+1]=t;}

}

void f3(int p[],int t)
{
int i,j;
for (i=0;i<t;i++)
 printf("%d ",p[i]);
}

void f4(int p[],int t)
{
int i,j;
for (i=0;i<t-1;i++)
  printf("%d ",p[i]);
printf("%d",p[t-1]);
 


}
int a[100],b[50];
void read(int a[],int b[])
{
	int i;
	scanf("%d %d",&a[0],&b[0]);
	for (i=1;i<=a[0];i++) scanf("%d",&a[i]);
	for (i=1;i<=b[0];i++) scanf("%d",&b[i]);
}
void change(int c,int x[])
{
	int i,j,k,l;
	for (i=1;i<=c;i++)
	{
		k=x[i];
		l=i;
		for (j=i+1;j<=c;j++)
		{
			if (x[j]<k)
			{
				k=x[j];
				l=j;
			}
		}
		j=x[i];x[i]=k;x[l]=j;
	}
}
void one(int m,int n,int a[],int b[])
{
	int i;
	for (i=0;i<n;i++)
	{
		a[m+i+1]=b[i+1];
	}
}
void out(int m,int n,int x[])
{
	int i;
	for (i=1;i<m+n;i++)
	{
		printf("%d ",a[i]);
	}
	printf("%d\n",a[m+n]);
}
main()
{

	read(a,b);
	change(a[0],a);
	change(b[0],b);
	one(a[0],b[0],a,b);
	out(a[0],b[0],a);
}
void f(int a[],int n)
{
	int i,j,t;
	for(i=0;i<n;i++)
	{
		for(j=0;j<n-i-1;j++)
		{
			if(a[j]>a[j+1])
			{
				t=a[j];
				a[j]=a[j+1];
				a[j+1]=t;
			}
		}
	}
}
void main()
{
	int m,n,a[100],b[100],i;
	scanf("%d%d",&m,&n);
	for(i=0;i<m;i++)
		scanf("%d",&a[i]);
	for(i=0;i<n;i++)
		scanf("%d",&b[i]);
	f(a,m);
	f(b,n);
	for(i=m;i<m+n;i++)
		a[i]=b[i-m];
	for(i=0;i<m+n-1;i++)
		printf("%d ",a[i]);
	printf("%d",a[m+n-1]);
}
int a,b;
void shuru();
void paixu1();
void paixu2();
int main()
{
shuru();
paixu1();
paixu2();




return 0;











}
void shuru()
{cin>>a>>b;
}
void paixu1()
{   int i,j,t;
    int c[100];
	for(i=0;i<a;i++)
		cin>>c[i];
	for(i=0;i<a-1;i++)
		for(j=0;j<a-1-i;j++)
		{ 
			if(c[j]>c[j+1])
			{
				t=c[j];
				c[j]=c[j+1];
				c[j+1]=t;
			
			
			
}
}
		for(i=0;i<a;i++)
			cout<<c[i]<<" ";
}
void paixu2()
{   int i,j,t;
    int c[100];
	for(i=0;i<b;i++)
		cin>>c[i];
	for(i=0;i<b-1;i++)
		for(j=0;j<b-1-i;j++)
		{ 
			if(c[j]>c[j+1])
			{
				t=c[j];
				c[j]=c[j+1];
				c[j+1]=t;
			
			
			
}
}
		for(i=0;i<b-1;i++)
			cout<<c[i]<<" ";
		cout<<c[b-1];
}
int a[10000],b[10000];
int sizea,sizeb;
void read(){
	cin>>sizea>>sizeb;
	int i;
	for(i=0;i<=sizea-1;i++)
		cin>>a[i];
	for(i=0;i<=sizeb-1;i++)
		cin>>b[i];
}
void order(int n,int a[]){
	int i,j;
	int temp;
	for(i=n-1;i>=1;i--)
		for(j=0;j<=i-1;j++)
			if(a[j]>a[j+1])
			{
				temp=a[j];a[j]=a[j+1];a[j+1]=temp;
			}
}
void paixu(){
	order(sizea,a);
	order(sizeb,b);
}
void mix(){
	int i;
	for(i=0;i<=sizeb-1;i++)
		a[sizea+i]=b[i];
}
void print (){
	cout<<a[0];
	for(int i=1;i<=sizea+sizeb-1;i++)
		cout<<" "<<a[i];
}
int main(){
	read();
	paixu();
	mix();
	print();
}
void main()
{
	int a[2],i,j,b[2][100],p,c[100],s,t;
	
	for(i=0;i<2;i++)
		scanf("%d",&a[i]);
	
	for(i=0;i<2;i++)
		for(j=0;j<a[i];j++)
			scanf("%d",&b[i][j]);
		
		for(i=0;i<2;i++)
		{
			for(s=0;s<a[i]-1;s++)
			{
				for(t=0;t<a[i]-1-s;t++)
					if(b[i][t]>b[i][t+1])
					{
						p=b[i][t];
						b[i][t]=b[i][t+1];
						b[i][t+1]=p;
					}
			}
		}

					for(i=0;i<a[0];i++)
						c[i]=b[0][i];
					for(j=0;j<a[1];j++)
						c[a[0]+j]=b[1][j];

					for(s=0;s<a[0]+a[1]-1;s++)
						printf("%d ",c[s]);
					    printf("%d",c[a[0]+a[1]-1]);

}
int a[20],b[20],c[40],m,n,i,j,temp;
void main()
{
	void putin(int a[20],int b[20]);
	void exchange(int a[20],int b[20]);
	void together(int a[20],int b[20]);
	void putout(int c[40]);
	putin(a,b);
	exchange(a,b);
	together(a,b);
	putout(c);
}
void putin(int a[20],int b[20])
{
	scanf("%d%d",&m,&n);
	for(i=0;i<m;i++) scanf("%d",&a[i]);
    for(i=0;i<n;i++) scanf("%d",&b[i]);
}
void exchange(int a[20],int b[20])
{
	for(i=0;i<m-1;i++)
	{
		for(j=0;j<m-1-i;j++)
		{
			if(a[j]>a[j+1])
			{
				temp=a[j];
				a[j]=a[j+1];
				a[j+1]=temp;
			}
		}
	}

    for(i=0;i<n-1;i++)
	{
		for(j=0;j<n-1-i;j++)
		{
			if(b[j]>b[j+1])
			{
				temp=b[j];
				b[j]=b[j+1];
				b[j+1]=temp;
			}
		}
	}
}
void together(int a[20],int b[20])
{
	for(i=0;i<m;i++) c[i]=a[i];
	for(i=0;i<n;i++) c[m+i]=b[i];
}
void putout(int c[40])
{
	for(i=0;i<m+n;i++) 
	{
		printf("%d",c[i]);
		if(i!=m+n-1) printf(" ");
	}
}
int *p,*q,m,n;
void shuru()
{   
    scanf("%d%d",&m,&n);
    p=(int*)malloc(m*sizeof(int));
    q=(int*)malloc(n*sizeof(int));
	for (int i=0;i<m;i++) 
	scanf("%d",p+i);
	for (int i=0;i<n;i++) 
	scanf("%d",q+i);
}
static int cmp(const void *a, const void *b)
{
	return *(int *)a - *(int *)b;
}
void shuchu()
{
	for(int i=0;i<m;i++)
    printf("%d ",*(p+i));
	for(int i=0;i<n-1;i++)
	printf("%d ",*(q+i));
	printf("%d",*(q+n-1)); 
}
main()
{   
    shuru();
	qsort(p,m,sizeof(int),cmp);
	qsort(q,n,sizeof(int),cmp);
	shuchu();
}
void input();
void arrange();
void add();
void output();
int a[100],b[100],c[200],n1,n2;
void main()
{
	input();
	arrange();
	add();
	output();
}
void input()
{
	int i,j;
	scanf("%d %d",&n1,&n2);
	for(i=0;i<n1;i++)
		scanf("%d",&a[i]);
	for(j=0;j<n2;j++)
		scanf("%d",&b[j]);
}

void arrange()
{
	int i,j,temp;
	for(i=0;i<n1;i++)
		for(j=i;j<n1;j++)
			if(a[i]>a[j])
		{
			temp=a[i];
			a[i]=a[j];
			a[j]=temp;
		}
	for(i=0;i<n2;i++)
		for(j=i;j<n2;j++)
			if(b[i]>b[j])
		{
			temp=b[i];
			b[i]=b[j];
			b[j]=temp;
		}
}
void add()
{
	int i;
	for(i=0;i<n1;i++)
	{c[i]=a[i];}
	for(i=n1;i<n1+n2;i++)
	{c[i]=b[i-n1];}
}

void output()
{
	int i;
	for(i=0;i<n1+n2;i++)
	{
		printf("%d",c[i]);
		if(i<n1+n2-1) printf(" ");
		else printf("\n");
	}

}
int main()
{
	int number1[100]={0},number2[100]={0};//????
	int len1=0,len2=0;
	cin>>len1>>len2;
	void getarray(int number[],int len);
	void rank(int number[],int len);
	void add(int number1[],int number2[],int len1,int len2);
	void print(int number[],int len1,int len2);
	getarray(number1,len1);//????????
	getarray(number2,len2);
	rank(number1,len1);         //??????????
	rank(number2,len2);
	add(number1,number2,len1,len2);//?????????
	print(number1,len1,len2);//????????
	return 0;
}
void getarray(int number[],int len)
{
	int i=0;
	for(i=0;i<len;i++)
		cin>>number[i];
}
void rank(int number[],int len)
{
	int i,j,temp;//i,j?????,temp?????
	for(i=0;i<len;i++)//??
	{
		for(j=i+1;j<len;j++)
		{
			if(number[i]>number[j])
			{
				temp=number[i];
				number[i]=number[j];
				number[j]=temp;
			}
		}
	}
}
void add(int number1[],int number2[],int len1,int len2)
{
	int i=0;//i?????
	for(i=0;i<len2;i++)
		number1[i+len1]=number2[i];
}
void print(int number[],int len1,int len2)
{
	int i;
	for(i=0;i<len1+len2-1;i++)
		cout<<number[i]<<' ';
	cout<<number[len1+len2-1];
}
void print(int a[],int x)
{
	int i;
	printf("%d",a[0]);
	for(i=1;i<x;i++)
		printf(" %d",a[i]);
}
void paixu(int a[],int x)
{
	int i,j,m;
	for(i=0;i<x;i++)
		for(j=i+1;j<x;j++)
		{
			if(a[i]>a[j])
			{
				m=a[i];
				a[i]=a[j];
				a[j]=m;
			}
		}
	print(a,x);
}
void scan(int t)
{
	int m,n,a[10],i;
	scanf("%d%d",&m,&n);
	for(i=0;i<m;i++)
	{
		scanf("%d",&a[i]);
	}
	paixu(a,m);
	printf(" ");
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	paixu(a,n);
}
void main()
{
	
	scan(0);
}
int m,n,a[800],b[800];
void main()
{
	void f1();
	void f2();
	void f3();
	void f4();
	f1();
	f2();
	f3();
	f4();
}
void f1()
{
	scanf("%d%d",&m,&n);
}
void f2()
{
	int i;
	for(i=0;i<m;i++)
		scanf("%d",&a[i]);
	for(i=0;i<n;i++)
		scanf("%d",&b[i]);
}
void f3()
{
	int i,j,temp;
	for(i=0;i<m;i++)
	{	for(j=i+1;j<m;j++)
			if(a[j]<a[i])
			{temp=a[i];a[i]=a[j];a[j]=temp;}
	}
	for(i=0;i<n;i++)
	{	for(j=i+1;j<n;j++)
			if(b[j]<b[i])
			{temp=b[i];b[i]=b[j];b[j]=temp;}
	}
}
void f4()
{
	int i,j;
	for(i=0;i<m;i++)
		printf("%d ",a[i]);
	for(j=0;j<n-1;j++)
		printf("%d ",b[j]);
	printf("%d",b[n-1]);
}
int m,n,a[500],b[200],temp;
void read(void)                                    //??
{
	cin>>m>>n;
	for(int i=0;i<m;i++) cin>>a[i];
	for(int i=0;i<n;i++) cin>>b[i];
}

void rank(void)                                    //??
{
	for(int i=0;i<m-1;i++)
		for(int j=0;j<m-i-1;j++)
		{
			if(a[j]>a[j+1])
			{
				temp=a[j];
				a[j]=a[j+1];
				a[j+1]=temp;
			}
		}
	for(int i=0;i<n-1;i++)
			for(int j=0;j<n-i-1;j++)
			{
				if(b[j]>b[j+1])
				{
					temp=b[j];
					b[j]=b[j+1];
					b[j+1]=temp;
				}
			}
}

void merge(void)                                //??
{
	for(int i=0;i<n;i++) a[m+i]=b[i];
}

void show(void)                                      //??
{
	for(int i=0;i<m+n-1;i++) cout<<a[i]<<' ';
	cout<<a[m+n-1];
}

int main(void)
{
      read();
      rank();
      merge();
      show();
      return 0;
}
int main()
{
	int m,n,i,t,j;
	int a[2][1000];
	scanf("%d %d",&m,&n);
    for(i=0;i<m;i++)
		scanf("%d",&a[0][i]);
	for(i=0;i<n;i++)
		scanf("%d",&a[1][i]);
    for(j=0;j<m-1;j++)
		for(i=0;i<m-1-j;i++)
			if(a[0][i]>a[0][i+1])
			{
				t=a[0][i];
				a[0][i]=a[0][i+1];
				a[0][i+1]=t;
			}
	for(j=0;j<n-1;j++)
		for(i=0;i<n-1-j;i++)
			if(a[1][i]>a[1][i+1])
			{
				t=a[1][i];
				a[1][i]=a[1][i+1];
				a[1][i+1]=t;
			}
    for(i=0;i<m;i++)
		printf("%d ",a[0][i]);
	for(i=0;i<n-1;i++)
		printf("%d ",a[1][i]);
	printf("%d\n",a[1][n-1]);
}
void get(int m,int n);
void swap(int m,int n);
void put(int m,int n);
int a[1001],b[1001];
void main()
{
	int m,n;
	scanf("%d%d",&m,&n);
	get(m,n);
	swap(m,n);
	put(m,n);
}
void get(int m,int n)
{
	int i;
	for(i=0;i<m;i++)
		scanf("%d",&a[i]);
	for(i=0;i<n;i++)
		scanf("%d",&b[i]);
}
void swap(int m,int n)
{
	int j,k,c;
	for(j=0;j<m-1;j++)
		for(k=0;k<m-1-j;k++)
			if(a[k]>a[k+1]){
				c=a[k];
				a[k]=a[k+1];
				a[k+1]=c;
			}
	for(j=0;j<n-1;j++)
		for(k=0;k<n-1-j;k++)
			if(b[k]>b[k+1]){
				c=b[k];
				b[k]=b[k+1];
				b[k+1]=c;
			}
}
void put(int m,int n)
{
	int l;
	for(l=0;l<m;l++)
		printf("%d ",a[l]);
	for(l=0;l<n;l++){
		if(l==n-1)
			printf("%d",b[l]);
		else
			printf("%d ",b[l]);
	}
}
int paixu(int shuzu[],int num)
{
    int i,j,jiaohuan;
    for(i=1;i<num;i++)
    {
                      for(j=0;j<num-i;j++)
                      {
                            if(shuzu[j]>shuzu[j+1])
                            {
                                                   jiaohuan=shuzu[j];
                                                   shuzu[j]=shuzu[j+1];
                                                   shuzu[j+1]=jiaohuan;
                            }              
                      }
     }  
}//??????????? 
int hebing(int shuzu1[],int num1,int shuzu2[],int num2)
{
    int i;
    for(i=0;i<num2;i++)shuzu1[i+num1]=shuzu2[i];
}//????1???2 
int main()
{
    int shuzu1[200],shuzu2[100],num1,num2,i,j;
    cin>>num1>>num2;
    for(i=0;i<num1;i++)cin>>shuzu1[i];
    for(i=0;i<num2;i++)cin>>shuzu2[i];
    paixu(shuzu1,num1);//???????1?? 
    paixu(shuzu2,num2);//???????2?? 
    hebing(shuzu1,num1,shuzu2,num2);//????????1???2 
    for(i=0;i<(num1+num2);i++)
    {
                              cout<<shuzu1[i];
                              if(i<(num1+num2-1))cout<<" ";
    }//???????? 
    cin.get();cin.get();cin.get();cin.get();cin.get();cin.get();
    return 0;
    
}
void main()
{
	int a[100],b[100];
	void sca(int x[100],int y[100]);
	void res(int x[100],int y[100]);
	void pri(int x[100],int y[100]);
	sca (a,b);
	//res (a,b);
	//pri (a,b);
}
void sca(int x[100],int y[100])
{
	int m,n,i,j,k;
	scanf("%d %d",&m,&n);
	//printf("%d %d",m,n);
	for(i=1;i<=m;i++)
	scanf("%d",&x[i]);
	//printf("%d",x[1]);
	for(i=1;i<=n;i++)
	scanf("%d",&y[i]);
	//printf("1");
	for(i=1;i<=m;i++)
		{
			for(j=1;j<=m-i;j++)
			{
				if(x[j]>x[j+1])
				{
					k=x[j];
					x[j]=x[j+1];
					x[j+1]=k;
				}
			}
		}
	for(i=1;i<=m;i++)
		printf("%d ",x[i]);
	for(i=1;i<=n;i++)
		{
			for(j=1;j<=n-i;j++)
			{
				if(y[j]>y[j+1])
				{
					k=y[j];
					y[j]=y[j+1];
					y[j+1]=k;
				}
			}
		}
	for(i=1;i<n;i++)
		printf("%d ",y[i]);
	printf("%d",y[n]);
	
		
	
}
int m,n,s1[1000],s2[1000],s[1000];
void f1(void)
{
	int i;
	scanf("%d %d",&m,&n);
	for(i=0;i<m;i++)
		scanf("%d",&s1[i]);
	for(i=0;i<n;i++)
		scanf("%d",&s2[i]);
}
void f2(void)
{
	int i,j,temp;
	for(i=0;i<m;i++)
	{
		for(j=0;j<m-1;j++)
		{
			if(s1[j]>s1[j+1]){temp=s1[j];s1[j]=s1[j+1];s1[j+1]=temp;}
		}
	}
    for(i=0;i<n;i++)
	{
		for(j=0;j<n-1;j++)
		{
			if(s2[j]>s2[j+1]){temp=s2[j];s2[j]=s2[j+1];s2[j+1]=temp;}
		}
	}
}
void f3(void)
{
	int i;
	for(i=0;i<m;i++)
		s[i]=s1[i];
	for(i=m;i<m+n;i++)
		s[i]=s2[i-m];
}
void f4(void)
{
	int i;
	printf("%d",s[0]);
	for(i=1;i<m+n;i++)printf(" %d",s[i]);
}
void main()
{
	f1();
	f2();
	f3();
	f4();
}
void input(int *p1, int *p2, int **pA, int **pB)
{
int i;
scanf("%d %d", p1, p2);
*pA=(int*)malloc((*p1)*sizeof(int));
*pB=(int*)malloc((*p2)*sizeof(int));  
 for (i=0; i<*p1; i++)
scanf("%d", *pA+i);
 for (i=0; i<*p2; i++)
scanf("%d", *pB+i);    
}
void sort(int p, int *pX)
{
 int i, j, temp;
 for (i=0; i<p; i++)
 {
  for (j=p-1; j>i; j--)
  {
   if (pX[j]<pX[j-1])
   {
    temp=pX[j];
    pX[j]=pX[j-1];
    pX[j-1]=temp;                 
   }   
  }   
 }
} 
void combine(int p1, int p2, int *pA, int *pB, int **pC)
{
 *pC=(int*)malloc((p1+p2)*sizeof(int));
 int i;
 for (i=0; i<p1; i++)
     (*pC)[i]=pA[i];
 for (i=0; i<p2; i++)
     (*pC)[p1+i]=pB[i]; 
 free(pA);
 free(pB);   
} 
void output(int p, int *pC)
{
 int i;
 for (i=0; i<p-1; i++)
     printf("%d ", pC[i]);
 printf("%d\n", pC[p-1]);
 free(pC);  
}
main()
{
 int p1, p2, *pA, *pB, *pC;
 input(&p1, &p2, &pA, &pB);
 sort(p1, pA);
 sort(p2, pB);
 combine(p1, p2, pA, pB, &pC);
 output(p1+p2, pC);
}
int a,b,c[100],d[100];
void size()
{scanf("%d %d",&a,&b);
}
void num(int s,int j[])
{int i;
for(i=0;i<s;i++)
{scanf("%d",&j[i]);}
}
void arrange(int s,int j[])
{int i,k,temp;
for(k=0;k<s-1;k++)
{for(i=0;i<s-k-1;i++)
{if(j[i+1]<=j[i]){temp=j[i];j[i]=j[i+1];j[i+1]=temp;}
}
}
}
void plus(int x,int m[],int y,int n[])
{int i;
arrange(x,m);arrange(y,n);
printf("%d",m[0]);
for(i=1;i<x;i++){printf(" %d",m[i]);}
for(i=0;i<y;i++){printf(" %d",n[i]);}
}
void main()
{
	size();
	num(a,c);
	num(b,d);
	plus(a,c,b,d);
}
/*
 * ????addition-of-big-int.cpp
 * ??????
 * ????:2012-11-27
 * ??????????????
 */

int la=0,lb=0,l=0,a[100],b[100],combine[200]; //??????la,lb,??a,b,combine

void input();                                 //????input
void seq();                                   //????seq
void sequence(int x[100]);                    //????sequence
void com(int a[100],int b[100]);              //????com
void output(int combine[200]);                //????output

int main(){                                   //???
	input();                              //??
	seq();                                //??
	com(a,b);                             //???a,b?????combine
	output(combine);                      //??combine
	return 0;                             //?????
}
void input(){                                 //??input
	cin>>la>>lb;                          //????a,b???la,lb
	for(int i=0;i<la;i++)                 //????a
		cin>>a[i];
	for(int i=0;i<lb;i++)                 //????b
		cin>>b[i];
}
void seq(){                                   //??seq
	l=la;
	sequence(a);                          //??a
	l=lb;
	sequence(b);                          //??b
}
void sequence(int x[100]){                    //????sequence
	int temp=0;                           //????temp
	for(int i=1;i<l;i++)                  //??????
		for(int j=1;j<=l-i;j++)
			if(x[j-1]>x[j])
			{
				temp=x[j];
				x[j]=x[j-1];
				x[j-1]=temp;
			}
}
void com(int a[100],int b[100]){              //????com
	memcpy(combine,a,la*4);
	memcpy(combine+la,b,lb*4);
}
void output(int combine[200]){                //??output
	cout<<combine[0];                     //???????combine
	for(int i=1;i<la+lb;i++)
		cout<<" "<<combine[i];
}
int output(int b[],int a)
{
	sort(b,b+a);
	for (int i=0;i<a-1;i++)
	cout << b[i] << ' ';
	cout << b[a-1];
}
int main()
{
	int a,b;
	cin >> a >> b;
	int input(int a,int s);
	input(a,b);
	return 0;
}
int input(int a,int s)
{
	int b[1000],c[1000];
	for (int i=0;i<a;i++)
	cin >> b[i];
	for (int i=0;i<s;i++)
	cin >> c[i];
	output(b,a);
	cout << ' ';
	output(c,s);
}