semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
void mode(int x, int y) {
	int num1[100], num2[100], num3[200];
	int i, j, k;
	for (i = 0; i < x; i++)
		cin >> num1[i];
	for (j = 0; j < x - 1; j++)
		for (k = 0; k < x - 1 - j; k++)
			if (num1[k] > num1[k + 1])
				swap(num1[k], num1[k + 1]);
	for (i = 0; i < y; i++)
		cin >> num2[i];
	for (j = 0; j < y - 1; j++)
		for (k = 0; k < y - 1 - j; k++)
			if (num2[k] > num2[k + 1])
				swap(num2[k], num2[k + 1]);
	for (i = 0; i < x; i++)
		num3[i] = num1[i];
	for (i = x; i < (x + y); i++)
		num3[i] = num2[i - x];
	for (i = 0; i < x + y - 1; i++)
		cout << num3[i] << " ";
	cout << num3[x + y - 1];
}
int main() {
	int x, y;
	cin >> x >> y;
	mode(x, y);
	return 0;
}
int m=0,n=0,a[100]={0},b[100]={0};
void got()
{
	cin>>m>>n;
	int i=0;
	for(i=0;i<m;i++)cin>>a[i];
	for(i=0;i<n;i++)cin>>b[i];
}
void f(int a[],int b[])
{
	int i=0,j=0,temp=0;
	for(i=0;i<m;i++)
		for(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(i=0;i<n;i++)
		for(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 plus(int a[],int b[])
{
	for(int i=0;i<n;i++)
	{
		a[m+i]=b[i];
	}
}
void shu(int a[])
{
	for(int i=0;i<m+n;i++)
	{
		if(i==m+n-1)cout<<a[i];
		else cout<<a[i]<<" ";
	}
}
int main()
{
	got();
	f(a,b);
	for(int i=0;i<m;i++)cout<<a[i]<<" ";
	for(int i=0;i<n;i++)
	{
		if(i!=n-1)cout<<b[i]<<" ";
		else cout<<b[i];}
	
	return 0;
}
int n1, n2;
int num1[100], num2[100];
void in(int n,int a[])
{
	for(int i = 0; i < n; i++)
		cin>>a[i];
}
void com(int n, int a[])
{
	int temp;
	for(int i = 0; i < n - 1; i++)
		for(int j = 0; j < n - i - 1; j++)
			if(a[j] > a[j + 1])
			{
				temp = a[j];
				a[j] = a[j + 1];
				a[j + 1] = temp;
			}
}
int main()                                  //??? 
{
	cin>>n1>>n2;
	in(n1, num1);
	com(n1, num1);
	in(n2, num2);
	com(n2, num2);
	for(int i = 0; i < n1; i++)
		cout<<num1[i]<<' ';
	for(int j = 0; j < n2 - 1; j++)
		cout<<num2[j]<<' ';
	cout<<num2[n2 - 1]<<endl;
    return 0;
}
int main()
{
    int a[1000],b[1000],c[1000];
    int i,n1,n2;
    void shubingpai(int x[],int y[],int z[],int m,int n);
    scanf("%d%d",&n1,&n2);
    for(i=0;i<n1;i++)
    scanf("%d",&a[i]);
    for(i=0;i<n2;i++)
    scanf("%d",&b[i]);
    shubingpai(a,b,c,n1,n2);
    for(i=0;i<(n1+n2-1);i++)
    printf("%d ",c[i]);
    printf("%d",c[n1+n2-1]);
    }
void shubingpai(int x[],int y[],int z[],int m,int n)
{
    void pai(int c[],int n) ;
    int i;
    pai(x,m);
    pai(y,n);
    for(i=0;i<m;i++)
    z[i]=x[i];
    for(i=m;i<m+n;i++)
    z[i]=y[i-m];
}
void pai(int c[],int n)    
{
    int i,j,k,t;
    for(i=0;i<n-1;i++)
    {
        k=i;
        for(j=i+1;j<n;j++)
        if(c [j]<c [k])
        k=j;
        t=c[k];c[k]=c[i];c[i]=t;   
    }
}
int a[20],b[20],c[40],la=0,lb=0;
int read(int a[],int b[]);
int sort(int a[],int b[]);
int catenate(int a[],int b[],int c[]);
int print(int c[],int l);
int main()
{
	read(a,b);
	sort(a,b);
	catenate(a,b,c);
	print(c,la+lb);
	return 0;
}
int read(int a[],int b[])
{
	int i;
	cin>>la>>lb;
	for(i=1;i<=la;i++) cin>>a[i];
	for(i=1;i<=lb;i++) cin>>b[i];
	return 0;
}
int sort(int a[],int b[])
{
	int i,j,change;
	for(i=1;i<la;i++)
		for(j=1;j<=la-i;j++)
			if(a[j]>a[j+1])
			{
				change=a[j];
				a[j]=a[j+1];
				a[j+1]=change;
			}
	for(i=1;i<lb;i++)
		for(j=1;j<=lb-i;j++)
			if(b[j]>b[j+1])
			{
				change=b[j];
				b[j]=b[j+1];
				b[j+1]=change;
			}
	return 0;
}
int catenate(int a[],int b[],int c[])
{
	int i;
	for(i=1;i<=la;i++) c[i]=a[i];
	for(i=1;i<=lb;i++) c[la+i]=b[i];
	return 0;
}
int print(int c[],int l)
{
	int i;
	cout<<c[1];
	for(i=2;i<=l;i++) cout<<" "<<c[i];
	return 0;
}
void main()
{
	void pai(int na,int nb);
	int na,nb;
	scanf("%d%d",&na,&nb);
	pai(na,nb);

}

void pai(int na,int nb)
{
	int t,i,j,a[200],b[100];
	for(i=0;i<na;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<nb;i++)
	{
		scanf("%d",&b[i]);
	}

	for(j=0;j<na-1;j++)
	{
		for(i=0;i<na-1-j;i++)
		{
			if(a[i]>a[i+1])
			{
				t=a[i];
				a[i]=a[i+1];
				a[i+1]=t;
			}
		}
	}

	for(j=0;j<nb-1;j++)
	{
		for(i=0;i<nb-1-j;i++)
		{
			if(b[i]>b[i+1])
			{
				t=b[i];
				b[i]=b[i+1];
				b[i+1]=t;
			}
		}
	}
	
	for(j=0;j<na;j++)
		printf("%d ",a[j]);
	for(j=0;j<nb-1;j++)
		printf("%d ",b[j]);
	printf("%d\n",b[nb-1]);
	


}
int a[100];
int b[100];
int c[100];
int n,m;
int main ()
{  void cout ();
   void p ();
   void com ();
   void play ();
   cout ();
   p ();
   com ();
   play ();
   return 0;
}

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

void p ()
{  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;
       }
     }
    for(i=0;i<m;i++)
     for(j=i;j<m-i-1;j++)
     {  if(b[j]>=b[j+1])
       {  t=b[j];
          b[j]=b[j+1];
          b[j+1]=t;
       }
     }
   
}

void com ()
{  int i;
   for(i=0;i<n;i++)
     c[i]=a[i];
   for(i=n;i<n+m;i++)
     c[i]=b[i-n];
}

void play ()
{  int i;
   for(i=0;i<n+m;i++)
    { printf("%d",c[i]);
      if (i!=n+m-1) printf(" ");
    }
}
int a[100],b[100],c[200],m,n;
void getstr()
{
	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 rangestr()
{
	void range(int str[100],int length);
	range(a,m);
	range(b,n);
}

void range(int str[100],int length)
{
	int i,j,t;
	for (i=0;i<length-1;i++)
	    for (j=0;j<length-i-1;j++)
			if(str[j]>str[j+1])
			{
				t=str[j+1];
				str[j+1]=str[j];
				str[j]=t;
			}
}

void combinestr()
{
	int i;
	for (i=0;i<m;i++)
		c[i]=a[i];
	for (i=m;i<m+n;i++)
		c[i]=b[i-m];
}

void putstr()
{
	int i;
	for (i=0;i<m+n-1;i++)
		printf("%d ",c[i]);
	printf("%d",c[m+n-1]);
}

void main()
{
	getstr();
	rangestr();
	combinestr();
	putstr();
}
main()
{	int m,n;
	int input(int a,int b);
	scanf ("%d %d",&m,&n);
	input(m,n);
} 

int input(int a ,int b)
{
	int c[1000],d[1000];
	for (int i =0;i<a;i++)
	scanf("%d",&c[i]);
	for(int j=0;j<b;j++)
	scanf("%d",&d[j]);
	int sort(int e[],int s); 
	sort (c,a);
	printf(" ");
	sort (d,b); 
}
int sort(int e[],int s)
{
	int temp;
	for (int r=0;r<s-1;r++)
		for(int q=r+1;q<s;q++)
		{
			if (e[r]>e[q])
			{
			temp=e[r];
			e[r]=e[q];
			e[q]=temp;
			}
		} 
	for (int p=0;p <s-1;p++)
		printf ("%d ",e[p]);
		printf ("%d",e[s-1]);
		
}
void f0(int a[],int x)
{
	int i=0;
    for(;i<x;i++)
	scanf("%d",&a[i]);
}
void f1(int a[],int x)
{   int i,j,s;
	for(i=0;i<x-1;i++)
	for(j=0;j<x-1-i;j++)
		if(a[j]>a[j+1]) {s=a[j];a[j]=a[j+1];a[j+1]=s;}
}
void f2(int a[],int b[],int c[],int m,int n)
{
	int i=0;
	while(i<m)
	{c[i]=a[i];i++;}
	while(i<m+n)
	{c[i]=b[i-m];i++;}
}
main()
{
	int a[50],b[50],c[100],m,n,i;
	scanf("%d %d",&m,&n);
	f0(a,m);
	f0(b,n);
	f1(a,m);
	f1(b,n);
	f2(a,b,c,m,n);
	printf("%d",c[0]);
	for(i=1;i<n+m;i++)
     printf(" %d",c[i]);
	return 0;
	
}
int a[100],b[100],n,m;
 void shuru( void);
    void paixu( void);
    void hebing( void);
    void shuchu( void);
int main()
{
   
    shuru( );
    paixu( );
    hebing( );
    shuchu( );
    return 0;
}
     void shuru(void )
     {
         int x,y;
         cin >>x>>y;
         int i;
         for(i=0;i<x;i++)
         cin >>a[i];
         for(i=0;i<y;i++)
         cin >>b[i];
         n=x;
         m=y;
         }
     void paixu(void )
     {
         int i,j,t;
         for(i=0;i<n-1;i++)
         for(j=i;j<n;j++)
         {
             if(a[i]>a[j])
             {
                 t=a[i];a[i]=a[j];a[j]=t;
                 }
                 }
         for(i=0;i<m-1;i++)
         for(j=i;j<m;j++)
         {
            if(b[i]>b[j])
            {
                 t=b[i];b[i]=b[j];b[j]=t;
                 }
                 }
         }
     void hebing( void)
     {
          int i;
          for(i=n;i<m+n;i++)
          a[i]=b[i-n];
          }
     void shuchu(void )
     {
          int i;
          for(i=0;i<m+n-1;i++)
          cout<<a[i]<<" ";
          cout<<a[m+n-1];
          }
int a[MAX],b[MAX],al,bl;

void input()
{
	int i;
	scanf("%d %d\n",&al,&bl);
	for(i=0;i<al;i++)
		scanf("%d",&a[i]);
	for(i=0;i<bl;i++)
		scanf("%d",&b[i]);

}

void Qsort(int start,int length,int a[])
{
	int x = a[start];
	int i,j;
	i = start;
	j = length -1;
	while(i < j)
	{
		if(x < a[j])	
			j--;
		else if(x > a[j])
		{
			a[i] = a[j];
			a[j] = x; 
			i++;
		}
		else if(x < a[i])
		{
			a[j] = a[i];
			a[i] = x;
			j--;
		}
		else
			i++;
	}
	if(start < length-1)
	{
		Qsort(start,i,a);
		Qsort(i+1,length,a);
	}
}

void sort()
{
	Qsort(0,al,a);
	Qsort(0,bl,b);
}

void combine()
{
	int i;
	for(i=0;i<bl;i++)
		a[i+al]=b[i];
}

void output()
{
	int i;
	for(i=0;i<bl+al-1;i++)
		printf("%d ",a[i]);
printf("%d",a[i]);


}
//????????????main??????????????????
void main()
{
	input();
	sort();
	combine();
	output();

}
void input(int *p,int *q,int *n,int *m) 
{
     int *x;
     scanf("%d %d",n,m);
     x=p+*n;
     for(;p<x;p++)
        scanf("%d",p);
     x=q+*m;
     for(;q<x;q++)
        scanf("%d",q);
}

void sort(int *p,int n)
{
     int x,i,j,k;
     for(i=0;i<n-1;i++)
     {
         k=i;
         for(j=i+1;j<n;j++)
            if(*(p+j)<*(p+k)) k=j;
         if(k!=i)
         {
                 x=*(p+i);
                 *(p+i)=*(p+k);
                 *(p+k)=x;
         }
     }
}

void copy(int *p,int *q,int x[],int n,int m)
{
     int i;
     for(i=0;i<n;i++,p++)
        x[i]=*p;
     for(;i<n+m;i++,q++)
        x[i]=*q;
}

void output(int *p,int n)
{
     int *y;
     y=p+n-1;
     printf("%d",*p);
     p++;
     for(;p<=y;p++)
        printf(" %d",*p);
}        

int main()
{ 
     int i,a[100],b[100],c[200],x,y,*n,*m;
     n=&x;
     m=&y;
     input(a,b,n,m);
     sort(a,x);    
     sort(b,y);
     copy(a,b,c,x,y); 
     output(c,x+y);
     
}
main ()
{
    int m,n,a[1000],b[1000];
    void in(int xx[],int,int yy[],int);
    void arr(int ddd[],int);
    void con(int aa[],int,int bb[],int);
    void out(int dd[],int);
    scanf("%d%d",&m,&n);
    in(a,m,b,n);
    arr(a,m);
    arr(b,n);
    con(a,m,b,n);
    out(a,m+n);
}

void in(int xx[],int x,int yy[],int y)
{
    int i;
    for(i=0;i<x;i++)
        scanf("%d",&xx[i]);
    for(i=0;i<y;i++)
        scanf("%d",&yy[i]);
}

void arr(int ddd[],int x)
{
    int i,j,min,k;
    for(i=0;i<x-1;i++)
    {
        min=ddd[i];
        for(j=i+1,k=i;j<x;j++)
        {
            if(ddd[j]<min)
            {
                min=ddd[j];
                k=j;
            }
        }
        ddd[k]=ddd[i];
        ddd[i]=min;
        }
}

void con(int aa[],int x,int bb[],int y) 
{
    int i;
    for(i=x;i<x+y;i++)
        aa[i]=bb[i-x];
    x=x+y;
}

void out(int dd[],int x)
{
    int i;
    printf("%d",dd[0]);
    for(i=1;i<x;i++)
        printf(" %d",dd[i]);
}
//********************************
//*??  ???????      *****
//*????? 1300012753     ***** 
//*???2013.11.19          *****   
//********************************
int m, n;
int a[100], b[100];
int ans[200];
void read(int a[], int b[])
{
	cin >> m; 
	cin >> n;
	for(int i = 1; i <= m; i++)
	cin >> a[i];
	for(int i = 1; i <= n; i++)
	cin >> b[i];
}
void sort(int a[], int m)
{
	int temp;
	for(int i = 1; i < m; i++)
	{
		for(int j = i + 1; j <= m; j++)
		{
			if(a[i] > a[j])
			{
				temp = a[i];
				a[i] = a[j];
				a[j] = temp;
			}
		}
	}
}
void add(int a[], int b[])
{
	for(int i = 1; i <= m; i++)
	ans[i] = a[i];
	for(int i = 1; i <= n; i++)
	ans[m+i] = b[i];
}
void out(int a[], int m)
{
	cout << a[1];
	for(int i = 2; i <= m; i++)
	cout << ' ' << a[i];
}
int main()
{
	read(a,b);
	sort(a,m);
	sort(b,n);
	add(a, b);
	out(ans, m+n);
	return 0;
}
void scan(int x[],int *nx,int y[],int *ny)
{
         int i;
	scanf("%d %d",nx,ny);
	for(i=0;i<*nx;i++)
		scanf("%d",&x[i]);
	for(i=0;i<*ny;i++)
		scanf("%d",&y[i]);
}
void sort(int x[],int num)
{
         int i,j;
	for(i=num-1;i>=1;i--)
		for(j=1;j<=i;j++)
			if(x[j-1]>x[j])
			{
				int temp=x[j-1];
				x[j-1]=x[j];
				x[j]=temp;
			}
}
void exp(int a[],int b[],int na,int nb)
{
         int i;
	for(i=na;i<na+nb;i++)
		a[i]=b[i-na];
}
void print(int a[],int na,int nb)
{
	printf("%d",a[0]);int i;
	for(i=1;i<na+nb;i++)
		printf(" %d",a[i]);
}
void main()
{
	int a[100],na,b[100],nb;
	scan(a,&na,b,&nb);
	sort(a,na);
	sort(b,nb);
	exp(a,b,na,nb);
	print(a,na,nb);
}
void output(int c[],int m,int n)
{
	int i;
	printf("%d",c[1]);
	for(i=2;i<=n+m;i++)
		printf(" %d",c[i]);
}
void combine(int a[],int b[],int m,int n)
{
	int c[100];
	int i,j=1;
	for(i=1;i<=m;i++)
	{
		c[i]=a[i];
	}
	for(i=m+1;i<=n+m;i++,j++)
	{
		c[i]=b[j];
	}
	output(c,m,n);
}
void order(int a[],int b[],int m,int n)
{
	int i,j,temp;
	for(i=1;i<m;i++)
	{
		for(j=1;j<=m-i;j++)
		{
			if(a[j]>a[j+1])
			{
				temp=a[j];
				a[j]=a[j+1];
				a[j+1]=temp;
			}
		}
	}
	for(i=1;i<n;i++)
	{
		for(j=1;j<=n-i;j++)
		{
			if(b[j]>b[j+1])
			{
				temp=b[j];
				b[j]=b[j+1];
				b[j+1]=temp;
			}
		}
	}
	combine(a,b,m,n);
}
void input(void)
{
	int i,a[100],b[100],m,n;
	scanf("%d %d",&m,&n);
	for(i=1;i<=m;i++)
		scanf("%d",&a[i]);
	for(i=1;i<=n;i++)
		scanf("%d",&b[i]);
	order(a,b,m,n);
}
int main()
{
	input();
	return 0;
}
int b[2][10],e[20]={0},c=0,d=0;
scanning()
{
	scanf("%d %d",&c,&d);
}

scanning_array(int y,int x)
{
	int i;
	for(i=0;i<x;i++)
	{
		scanf("%d",&b[y][i]);
	}
}

void arrange(int m,int a[])
{
	int i,j,t;
	for(i=0;i<m;i++)
		for(j=0;j<m-i-1;j++)
		{
			if(a[j]>a[j+1])
			{
				t=a[j];
				a[j]=a[j+1];
				a[j+1]=t;
			}
		}
}

combine(int x[],int y[])
{
	int i;
	for(i=0;i<c;i++)
		e[i]=b[1][i];
	for(i=c;i<c+d;i++)
		e[i]=b[2][i-c];
}

print()
{
	int i;
	for(i=0;i<c+d;i++)
	{
		printf("%d",e[i]);
		if(i!=c+d-1)
		printf(" ");
	}
}

void main()
{
	scanning();
	scanning_array(1,c);
	scanning_array(2,d);
	arrange(c,b[1]);
	arrange(d,b[2]);
	combine(b[1],b[2]);
	print();
}
void read(int *pm,int *pn,int *p1,int *p2)
{
	int i,j;
	scanf("%d %d",pm,pn);
	for(i=0;i<*pm;i++)
		scanf("%d",p1+i);
	for(j=0;j<*pn;j++)
		scanf("%d",p2+j);
}

void sort(int *pm,int *pn,int *p1,int *p2)
{
	int i,j,k,tmp;
	for(i=0;i<*pm-1;i++)
	{
		k=i;
		for(j=i+1;j<*pm;j++)
			if(*(p1+j)<*(p1+k)) k=j;
		if(k!=i)
		{
			tmp=*(p1+k);
			*(p1+k)=*(p1+i);
			*(p1+i)=tmp;
		}
	}
	for(i=0;i<*pn-1;i++)
	{
		k=i;
		for(j=i+1;j<*pn;j++)
			if(*(p2+j)<*(p2+k)) k=j;
		if(k!=i)
		{
			tmp=*(p2+k);
			*(p2+k)=*(p2+i);
			*(p2+i)=tmp;
		}
	}
}

int combine(int *pm,int *pn,int *p1,int *p2,int *pnew)
{
	int i,j;
	for(i=0;i<*pm;i++)
		*(pnew+i)=*(p1+i);
	for(j=0;j<*pn;j++)
		*(pnew+i+j)=*(p2+j);
	return i+j;
}

void print(int *pk,int *pnew)
{
	int i;
	for(i=0;i<*pk;i++)
	{
		printf("%d",*(pnew+i));
		if(i==*pk-1) printf("\n");
		else printf(" ");
	}
}

void main()
{
	int m=0,n=0,k=0,a[10]={0},b[10]={0};
	int *pm=&m,*pn=&n,*pa=a,*pb=b;
	int New[20]={0},*pk=&k,*pnew=New;

	read(pm,pn,pa,pb);
	sort(pm,pn,pa,pb);
	*pk=combine(pm,pn,pa,pb,pnew);
	print(pk,pnew);
}
// ????????????????????????.cpp : ??????????????
//



int main()
{
	int k1,k2,a[100],b[100],i,j,c;
	scanf("%d%d",&k1,&k2);
	for(i=0;i<=k1-1;++i)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<=k2-1;++i)
	{
		scanf("%d",&b[i]);
	}
	for(i=0;i<=k1-2;++i)
	{
		for(j=i+1;j<=k1-1;++j)
		{
			if(a[i]>a[j])
			{
				c=a[j];
				a[j]=a[i];
				a[i]=c;
			}
		}
		printf("%d ",a[i]);
	}
	printf("%d",a[k1-1]);
	for(i=0;i<=k2-2;++i)
	{
		for(j=i+1;j<=k2-1;++j)
		{
			if(b[i]>b[j])
			{
				c=b[j];
				b[j]=b[i];
				b[i]=c;
			}
		}
		printf(" %d",b[i]);
	}
	printf(" %d",b[k2-1]);
	return 0;
}
void main()
{
	void f(int a[],int b[],int c,int d);
	int a[25],b[25],c,d,i;
	scanf("%d%d",&c,&d);
	for(i=0;i<c;i++)
		scanf("%d",&a[i]);
	for(i=0;i<d;i++)
		scanf("%d",&b[i]);
	f(a,b,c,d);
}
void f(int a[],int b[],int c,int d)
{
	int i,j,t;
	for(i=0;i<c-1;i++)
	{
		for(j=i+1;j<c;j++)
			if(a[j]<a[i])
			{
				t=a[i];
				a[i]=a[j];
				a[j]=t;
			}
	}
	for(i=0;i<d-1;i++)
	{
		for(j=i+1;j<d;j++)
			if(b[j]<b[i])
			{
				t=b[i];
				b[i]=b[j];
				b[j]=t;
			}
	}
	for(i=0;i<c;i++)
	printf("%d ",a[i]);
	for(i=0;i<d-1;i++)
		printf("%d ",b[i]);
	printf("%d\n",b[d-1]);
}
int n, m;
int a[1000], b[1000], c[2000];

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

int cmp(const void * a, const void * b) {
	return *((int *)a) - *((int *)b);
}

void sort() {
	qsort(a, n, sizeof(int), cmp);
	qsort(b, m, sizeof(int), cmp);
}

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

void output() {
	int i;
printf("%d",c[0]);
	for(i = 1; i < n + m; ++ i)
		printf(" %d", c[i]);
}

int main () {
	read();
	sort();
	merge();
	output();
	return 0;
}
int i,j,n1,n2,a1[100],a2[100];
void scan()
{
	cin>>n1>>n2;
	for(i=0;i<n1;i++)
		cin>>a1[i];
	for(j=0;j<n2;j++)
		cin>>a2[j];
}
void adjust()
{
	int p;
	for(i=0;i<n1;i++)
	{
		for(j=i+1;j<n1;j++)
		{
			if(a1[i]>a1[j])
			{
				p=a1[i];
				a1[i]=a1[j];
				a1[j]=p;
			}
		}
	}
	for(i=0;i<n2;i++)
	{
		for(j=i+1;j<n2;j++)
		{
			if(a2[i]>a2[j])
			{
				p=a2[i];
				a2[i]=a2[j];
				a2[j]=p;
			}
		}
	}
}
void combine()
{
	for(i=n1;i<n1+n2;i++)
	{
		a1[i]=a2[i-n1];
	}
}
void print()
{
	for(i=0;i<n1+n2-1;i++)
		cout<<a1[i]<<" ";
	cout<<a1[n1+n2-1]<<endl;
}
int main()
{
	scan();
	adjust();
	combine();
	print();
	return 0;
}
//???????????????????
int num1[1000] = {0} , num2[1000] = {0} ;
int num[2000] = {0} ;
int n1 , n2 ;
void read()
{
	cin >> n1 >> n2 ;
	for ( int i = 0 ; i < n1 ; i++ )
		cin >> num1[i] ;
	for ( int i = 0 ; i < n2 ; i++ )
		cin >> num2[i] ;
}
void range()
{
	for ( int i = 0 ; i < n1 - 1 ; i++ )
		for ( int j = 0 ; j < n1 - 1 - i ; j++ )
			if ( num1[j] > num1[j+1] )
			{
				int temp = 0 ;
				temp = num1[j] ;
				num1[j] = num1[j+1] ;
				num1[j+1] = temp ;
			}
	for ( int i = 0 ; i < n2 - 1 ; i++ )
		for ( int j = 0 ; j < n2 - 1 - i ; j++ )
			if ( num2[j] > num2[j+1] )
			{
				int temp = 0 ;
				temp = num2[j] ;
				num2[j] = num2[j+1] ;
				num2[j+1] = temp ;
			}
}
void combine()
{
	for ( int i = 0 ; i < n1 ; i++ )
		num[i] = num1[i] ;
	for ( int i = 0 ; i < n2 ; i++ )
		num[n1+i] = num2[i] ;
}
void print()
{//??????????
	for ( int i = 0 ; i < n1 + n2 - 1 ; i++ )
		cout << num[i] << " " ;
	cout << num[n1+n2-1] << endl ;
}
int main()
{
	read() ;
	range() ;
	combine() ;
	print() ;

	return 0 ;
}
// ( > w < ) finished~
int m,n;
int main()
{
	int p[100]={0},q[100]={0},c[200]={0};
void re(int a[],int b[]);
void or(int a[],int b[]);
void cb(int a[],int b[],int d[]);
void pr(int d[]);
re(p,q);
or(p,q);
cb(p,q,c);
pr(c);
return 0;}
void re(int a[],int b[])
{
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 or(int a[],int b[])
{
int i,j,t;
for(i=0;i<m-1;i++)
for(j=i+1;j<m;j++)
if(a[i]>a[j]) {t=a[i];a[i]=a[j];a[j]=t;}
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(b[i]>b[j]) {t=b[i];b[i]=b[j];b[j]=t;}
}
void cb(int a[],int b[],int d[])
{
int i;
for(i=0;i<m;i++) d[i]=a[i];
for(i=m;i<m+n;i++) d[i]=b[i-m];
}
void pr(int d[])
{
int i;
printf("%d",d[0]);
for(i=1;i<m+n;i++)
printf(" %d",d[i]);
}
void read(int s[],int n);
void arrange(int s[],int n);
void connect(int array1[],int array2[],int p1,int p2);
void print(int array[],int num);
int main()
{
	int s1[100],s2[100];
	int n1,n2;
	scanf("%d%d", &n1, &n2);
	read(s1,n1);
	read(s2,n2);
	arrange(s1,n1);
	arrange(s2,n2);
	connect(s1,s2,n1,n2);
	print(s1,n1+n2);
	return 0;
}
void read(int s[],int n)
{
	int i;
	for(i=0;i<n;i++)
	{
		scanf("%d", &s[i]);
	}
}
void arrange(int s[],int n)
{
	int i,j;
	int t;
	for(i=0;i<n-1;i++)
	{
		for(j=0;j<n-i-1;j++)
		{
			if(s[j]>s[j+1]){
				t=s[j+1];
				s[j+1]=s[j];
				s[j]=t;
			}
		}
	}
}
void connect(int array1[],int array2[],int p1,int p2)
{
	int i;

	for(i=p1;i<p1+p2;i++){
		array1[i]=array2[i-p1];
	}
}

void print(int array[],int num)
{
	int i;
	printf("%d", array[0]);
	for(i=1;i<num;i++)
	{
		printf(" %d", array[i]);
	}
}
int main ()
{
	int a, b;
	cin >> a >> b;
	void f( int x );
	f(a);
	cout << " " ;
	f(b);
	cout << endl;
}
void f( int x )
{
	int i,t ,j,str[100] = {0};
	for ( i = 1; i <= x; i++ )
		cin >> str[i];
	for ( i = 1; i <= x - 1; i++ )
	{
		for ( j = 1; j <= x- i; j++ )
			if ( str[j] > str[j+1] )
				t = str[j] , str[j] = str[ j+1 ], str[ j+1 ] = t;
	}
	for ( i = 1; i <= x - 1; i++ )
		cout << str[i] << " ";
	cout << str[x] ;
	return ;
}
void f(int n1,int n2)
{
	int a[100],b[100],i,j,k,l,m,n,p,q,term=0;
	for(i=0;i<n1;i++)
	{
		scanf("%d",&a[i]);
	}
	for(j=0;j<n2;j++)
	{
		scanf("%d",&b[j]);
	}
	for(k=0;k<n1;k++)
	{
		for(m=k+1;m<n1;m++)
		{
			if(a[m]<a[k])
			{
				term=a[k];
				a[k]=a[m];
				a[m]=term;
			}
		}
	}
	for(n=0;n<n2;n++)
	{
		for(l=n+1;l<n2;l++)
		{
			if(b[l]<b[n])
			{
				term=b[n];
				b[n]=b[l];
				b[l]=term;
			}
		}
	}
	for(p=0;p<n1;p++)
	{
		printf("%d ",a[p]);
	}
	for(q=0;q<n2-1;q++)
	{
		printf("%d ",b[q]);
	}
	printf("%d",b[n2-1]);
}
int main()
{
	int n1,n2;
	scanf("%d%d",&n1,&n2);
	f(n1,n2);
	return 0;
}
int n,m,i,j,t;
int a[100];
int b[100];
int c[200];
void passed1()
{
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++) scanf("%d",&a[i]);
	for(i=0;i<m;i++) scanf("%d",&b[i]);
}
void passed2()
{
	for(i=1;i<n;i++)
	{
		for(j=0;j<i;j++)
		{
			if(a[i-j]<a[i-1-j])
			{
				t=a[i-j];
				a[i-j]=a[i-1-j];
				a[i-1-j]=t;
			}
			else break;
		}
	}
	for(i=1;i<m;i++)
	{
		for(j=0;j<i;j++)
		{
			if(b[i-j]<b[i-1-j])
			{
				t=b[i-j];
				b[i-j]=b[i-1-j];
				b[i-1-j]=t;
			}
			else break;
		}
	}
}	
void passed3()
{
	for(i=0;i<n;i++) c[i]=a[i];
	for(i=0;i<m;i++) c[i+n]=b[i];
}
void passed4()
{
	printf("%d",c[0]);
	for(i=1;i<n+m;i++) printf(" %d",c[i]);
}
int main()
{
	passed1();
	passed2();
	passed3();
	passed4();
}
int main()
{
	int * change(int x[100],int y);
	int a1,a2,i;
	int *pt1,*pt2;
	int b[100],c[100];
	scanf("%d%d",&a1,&a2);
	for(i=0;i<a1;i++)
	{
		scanf("%d",&b[i]);
	}
	pt1=change(b,a1);
	for(i=0;i<a2;i++)
	{
		scanf("%d",&c[i]);
	}
	pt2=change(c,a2);
	for(i=0;i<a1;i++)
	{
		printf("%d ",*(pt1+i));
	}
	for(i=0;i<a2-1;i++)
	{
		printf("%d ",*(pt2+i));
	}
	printf("%d",*(pt2+a2-1));
}
int * change(int x[100],int y)
{
	int j,k,temp=0;
	for(j=1;j<y;j++)
	{
		for(k=0;k<y-j;k++)
		{
			if(x[k]>x[k+1])
			{
				temp=x[k+1];
				x[k+1]=x[k];
				x[k]=temp;
			}
		}
	}
	return(x);
}
int la,lb;
int a[100]={0},b[100]={0};
void get()
{
	for(int i=0;i<la;i++)
		cin>>a[i];
	for(int i=0;i<lb;i++)
		cin>>b[i];
}
void sort()
{
	int i,j;
	int p=a[0];
	for(i=0;i<la-1;i++)
		for(j=0;j<=la-i-2;j++)
		{
			if(a[j]>a[j+1])
				{p=a[j];
				a[j]=a[j+1];
				a[j+1]=p;
				}
		}
	p=b[0];
	for(i=0;i<lb-1;i++)
			for(j=0;j<=lb-i-2;j++)
			{
				if(b[j]>b[j+1])
					{p=b[j];
					b[j]=b[j+1];
					b[j+1]=p;
					}
			}
}
void link()
{
	int i;
	for(i=la;i<=la+lb-1;i++)
		a[i]=b[i-la];
}
void print()
{
	int i;
	for(i=0;i<la+lb-1;i++)
		cout<<a[i]<<" ";
	cout<<a[la+lb-1];
}
int main()
{
	cin>>la>>lb;
	get();
	sort();
	link();
	print();
	return 0;
}
int A,B,a[40],b[40];

void enter()
{
 int i;
 scanf("%d %d",&A,&B);
 scanf("%d",&a[1]);
    for(i=2;i<=A;i++)
  scanf(" %d",&a[i]);
 scanf("%d",&b[1]);
    for(i=2;i<=B;i++)
  scanf(" %d",&b[i]);
}

void array()
{
 int i,j,m;
 for(i=1;i<=A-1;i++)
  for(j=1;j<=A-i;j++)
  {
   if(a[j]>a[j+1])
   {
                m=a[j];
    a[j]=a[j+1];
    a[j+1]=m;
   }
  }
 for(i=1;i<=B-1;i++)
     for(j=1;j<=B-i;j++)
  {
      if(b[j]>b[j+1])
   {
                m=b[j];
        b[j]=b[j+1];
       b[j+1]=m;
   }
  }
}

void connect()
{
 int i,j;
 for(i=A+1,j=1;i<=A+B;i++,j++)
  a[i]=b[j];
}

void print()
{
 int i;
 printf("%d",a[1]);
 for(i=2;i<=A+B;i++)
  printf(" %d",a[i]);
}


void main()
{
    enter();
    array();
 connect();
 print();
}
int main()
{
    void paixu(int array[],int x);
    int i,n1,n2,a[50],b[50],c[100];
    scanf("%d %d",&n1,&n2);
    for(i=0;i<=n1-1;i++)
    scanf("%d",&a[i]);
    for(i=0;i<=n2-1;i++)
    scanf("%d",&b[i]);
    paixu(a,n1);
    paixu(b,n2);
    for(i=0;i<=n1-1;i++)
    c[i]=a[i];
    for(i=n1;i<=n1+n2-1;i++)
    c[i]=b[i-n1];
    for(i=0;i<=n1+n2-2;i++)
    printf("%d ",c[i]);
    printf("%d",c[n1+n2-1]);
    return 0;
}
void paixu(int array[],int x)
{
    int j,k,t;
    for(k=1;k<=x-1;k++)
     {
         for(j=0;j<=x-k-1;j++)
         if(array[j]>array[j+1])
         {t=array[j];array[j]=array[j+1];array[j+1]=t;}
     }
}