semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
	void hanshu();
	hanshu();

	return 0;
}

void hanshu()
{
	int m,n;
	int i,j,k,l,p,q;
	int a[100];
	int b[100];
	int c[200];
	int temp;
	int z,d,s;

	scanf("%d%d",&m,&n);

	for(i=0;i<m;i++)
		scanf("%d",&a[i]);

	for(j=0;j<n;j++)
		scanf("%d",&b[j]);

	for(k=1;k<n;k++)
	{
		for(l=0;l<m-k;l++)
		{
			if(a[l]>a[l+1])
			{
				temp=a[l];
				a[l]=a[l+1];
				a[l+1]=temp;
			}
		}
	}

	for(p=1;p<n;p++)
	{
		for(q=0;q<n-p;q++)
		{
			if(b[q]>b[q+1])
			{
				temp=b[q];
				b[q]=b[q+1];
				b[q+1]=temp;
			}
		}
	}

	for(d=0;d<m;d++)
		c[d]=a[d];

	for(s=m;s<m+n;s++)
		c[s]=b[s-m];

	printf("%d",c[0]);

	for(z=1;z<n+m;z++)
		printf(" %d",c[z]);

}
int a[50];
int b[50];
int c[100];
int m=0,n=0,temp;
void IN();
void OR();
void LIAN();
void OU();
void main()
{
  IN();
  OR();
  LIAN();
  OU();
}

void IN()
{
	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 i,j;
 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 LIAN()
{
	int i;
	for(i=m;i<m+n;i++)c[i]=b[i-m]; 
	for(i=0;i<m;i++)c[i]=a[i]; 
}


void OU()
{
	int i;
	for(i=0;i<m+n-1;i++) printf("%d ",c[i]);
	printf("%d",c[m+n-1]);
}
void main()
{
	void line(int a[],int b[],int m,int n);
	int m,n,i,j,t;
	int a[1000],b[1000];
	scanf("%d %d",&m,&n);
	for(i=0;i<m;i++)
	scanf("%d",&a[i]);
	scanf("\n");
	for(i=0;i<n;i++)
	scanf("%d",&b[i]);
	line(a,b,m,n);
}
void line(int a[],int b[],int m,int n)
{
	int i,j,t;
	for(j=0;j<m-1;j++)
		for(i=0;i<m-j-1;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=0;i<n-j-1;i++)
			if(b[i]>=b[i+1])
			{
				t=b[i];
				b[i]=b[i+1];
				b[i+1]=t;
			}
	for(i=0;i<m;i++)
	printf("%d ",a[i]);
	for(i=0;i<n-1;i++)
	printf("%d ",b[i]);
	printf("%d",b[n-1]);
	}
/*
 * moban.cpp
 *?? - ????????????????????????
 *  Created on: 2012-11-29
 *      Author: ???
 */
int a[500], b[500], numbera, numberb, i, j, p;
void input();//????
void order();
void stract();
void output();
int main() {
	input();//????
	order();
	stract();
	output();
	return 0;
}
void input() {   //???????????????????????
	cin >> numbera >> numberb;
	for (i = 0; i < numbera; i++)
		cin >> a[i];
	for (i = 0; i < numberb; i++)
		cin >> b[i];
}
void order() {  //???????????????
	for (i = 0; i < numbera - 1; i++)
		for (j = numbera - 1; j > i; j--)
			if (a[j] < a[j - 1]) {
				p = a[j];
				a[j] = a[j - 1];
				a[j - 1] = p;
			}
	for (i = 0; i < numberb - 1; i++)
		for (j = numberb - 1; j > i; j--)
			if (b[j] < b[j - 1]) {
				p = b[j];
				b[j] = b[j - 1];
				b[j - 1] = p;
			}
}
void stract() {  //??????????????
	for (i = numbera; i < numbera + numberb; i++)
		a[i] = b[i - numbera];
}
void output() {  //??????????????
	cout << a[0];
	for (i = 1; i < numbera + numberb; i++)
		cout << " " << a[i];
}
int main()
{
    int m,n,t;
    scanf("%d%d",&m,&n);
    printf("\n");
    int a[m],b[n],i,j;
    for(i=0;i<m;i++) scanf("%d",&a[i]);
    printf("\n");
    for(i=0;i<n;i++) scanf("%d",&b[i]);
    for(i=1;i<m;i++)
        for(j=0;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;i++)
        for(j=0;j<n-i;j++)
            if(b[j]>b[j+1]) {t=b[j];b[j]=b[j+1];b[j+1]=t;}
    printf("%d",a[0]);
    for(i=1;i<m;i++) printf(" %d",a[i]);
    for(i=0;i<n;i++) printf(" %d",b[i]);
}
int m,n;
int c[200]={0};
int a[100]={0};
int b[100]={0};
int main()
{	void A(int str[],int m);
	void B(int str3[],int str2[]);
	void D(int str[],int str2[]);
	
	int i,j,k;
	scanf("%d%d",&m,&n);
	
	D(a,b);
	A(a,m);
	A(b,n);
	B(a,b);
	
}
void D(int str[],int str2[])
{
int i;
for(i=0;i<m;i++)
	scanf("%d",&a[i]);
for(i=0;i<n;i++)
	scanf("%d",&b[i]);
}

void A(int str[],int m)
{
	int i,j,k;
	int temp;
	for(i=0;i<m-1;i++)
	for(j=i+1;j<m;j++)
		if(str[i]>str[j])
		{temp=str[i];str[i]=str[j];str[j]=temp;}
}
void B(int str3[],int str2[])
{	int i;
	for(i=0;i<m;i++)
		printf("%d ",str3[i]);
	for(i=0;i<n-1;i++)
		printf("%d ",str2[i]);
	printf("%d",str2[n-1]);
}
/*
 * T7.cpp
 *
 *  Created on: 2012-11-19
 *      Author:weiwan
 *      Function:????????????
 */

int a[10000],b[10000];
int A,B;
void read()          //????????
{
	int i;
	cin >>A >>B;
	for (i = 0;i < A;i ++)
		cin >>a[i];
	for (i = 0;i < B;i ++)
		cin >>b[i];
}
void sort()          //?????????????
{
	int i,j,temp;
	for (i = 0;i < A-1;i ++)
		for (j = i+1;j < A;j++)
		{
			if (a[j] < a[i]){temp = a[i];a[i] = a[j];a[j] = temp;}
		}
	for (i = 0;i < B-1;i ++)
		for (j = i+1;j < B;j++)
		{
			if (b[j] < b[i]){temp = b[i];b[i] = b[j];b[j] = temp;}
		}
}
void conbine()     //?????????
{
	int i;
	for (i = 0;i < A;i ++)
		cout <<a[i]<<' ';
	for (i = 0;i < B-1;i ++)
		cout <<b[i] <<' ';
	cout <<b[B-1];
}

int main()
{
	read();      //??3???
	sort();
	conbine();
	return 0;
}
void putin(int *p,int n)
{
	int i;
	for(i=0;i<n;i++)
	cin>>*(p+i);
}
void putout(int *p,int n)
{
	int m,i,j;
	for(i=0;i<n;i++)
	{
		for(j=0;j<n-i;j++)
		if(*(p+j)>*(p+j+1)) {m=*(p+j);*(p+j)=*(p+j+1);*(p+j+1)=m;}
	}
	cout<<*(p+1); for(i=2;i<n+1;i++) cout<<" "<<*(p+i);
}
int main()
{
	int n1,n2,a[10000],b[10000],*pa,*pb;
	pa=a;pb=b;
	cin>>n1>>n2;
	putin(pa,n1);
	putin(pb,n2);
	putout(pa,n1);cout<<" ";
	putout(pb,n2);
	return 0;
}
int main(void)
{

    int a[SIZE],b[SIZE];
    int m, n, i, t, j;
    scanf("%d %d",&m, &n);
    //printf("%d %d",m, n);

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

    for(i=0; i<n; i++)
    {
        scanf("%d", &b[i]);
    }
    for(i=0; i<m-1; i++)
    {
        for(j=0; j<m-1-i; j++)
        {
            if(a[j]>a[j+1])
            {
                t = a[j];
                a[j]=a[j+1];
                a[j+1]=t;
            }
        }
    }
    for(i=0; i<n-1; i++)
    {
        for(j=0; j<n-1-i; j++)
        {
            if(b[j]>b[j+1])
            {
                t = b[j];
                b[j]=b[j+1];
                b[j+1]=t;
            }
        }
    }
    printf("%d", a[0]);
    for(i=1; i<m; i++)
        printf(" %d", a[i]);
    for(i=0; i<n; i++)
        printf(" %d", b[i]);
    return 0;
}
int m, n, i, j, temp;
int a[100] = {0}, b[100] = {0}, c[200] = {0};
void Read(void);
void Order(void);
void Combine(void);
void Write(void);
int main()
{
	Read();
	Order();
	Combine();
	Write();
	return 0;
}
void Read(void)
{
	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]);
}
void Order(void)
{
	for (i = 1;i <= m;i++)
		for (j = i + 1;j <= m;j++)
		{
			if (a[i] > a[j])
			{
				temp = a[i];
				a[i] = a[j];
				a[j] = temp;
			}
		}
	for (i = 1;i <= n;i++)
		for (j = i + 1;j <= n;j++)
		{
			if (b[i] > b[j])
			{
				temp = b[i];
				b[i] = b[j];
				b[j] = temp;
			}
		}
}
void Combine(void)
{
	for (i = 1;i <= m;i++)
		c[i] = a[i];
	for (i = 1;i <= n;i++)
		c[i + m] = b[i];
}
void Write(void)
{
	printf("%d",c[1]);
	for (i = 2;i <= m + n;i++)
	printf(" %d",c[i]);
}
int str1[100],str2[100],str[200];
int m,n;
void f1()
{
	int i;
	scanf("%d %d",&m,&n);
	for(i=0;i<m;i++)
	{
		scanf("%d",&str1[i]);
	}
	for(i=0;i<n;i++)
	{
		scanf("%d",&str2[i]);
	}
}
void f2(int s[100],int k)
{
	int i,j,t;
	for(j=0;j<k-1;j++)
	{
		for(i=0;i<k-1;i++)
		{
			if(s[i]>s[i+1])
			{
				t=s[i];s[i]=s[i+1];s[i+1]=t;
			}
		}
	}
}
void f3(int s1[100],int s2[100],int s[200],int m,int n)
{
	int i;
	for(i=0;i<m;i++)
	{
		s[i]=s1[i];
	}
	for(i=0;i<n;i++)
	{
		s[i+m]=s2[i];
	}
}
void f4(int s[200],int m,int n)
{
	int i;
	for(i=0;i<m+n;i++)
	{
		printf("%d",s[i]);
		if(i<m+n-1)
			printf(" ");
	}
	printf("\n");
}
	
void main()
{
	f1();
	f2(str1,m);
	f2(str2,n);
	f3(str1,str2,str,m,n);
	f4(str,m,n);
}
int n,m,a[1000],b[100];

void scan(int *p1,int l1,int *p2,int l2)
{
	int i;
	scanf("%d%d",&l1,&l2);
	for(i=0;i<l1;i++)
		scanf("%d",&p1[i]);
	for(i=0;i<l2;i++)
		scanf("%d",&p2[i]);
}

void paixu(int *p,int l)
{
	int t,i,j;
	for(i=1;i<l;i++)
		for(j=0;j<l-i;j++)
			if(p[j]>p[j+1])
			{
				t=p[j];
				p[j]=p[j+1];
				p[j+1]=t;
			}
}

void hebing(int *p1,int l1,int *p2,int l2)
{
	int i;
	for(i=l1;i<l1+l2;i++)
		p1[i]=p2[i-l1];
}

void print(int *p,int l)
{
	int i;
	for(i=0;i<l;i++)
		printf("%d%c",p[i],(i==l-1)?'\n':' ');
}

void main()
{
	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]);
	paixu(a,n);
	paixu(b,m);
	hebing(a,n,b,m);
	print(a,m+n);
}
int a1[100],a2[100];
int n1,n2;
int a[200];

void shuru()
{
	int i;
	scanf("%d %d",&n1,&n2);
	for(i=0;i<n1;i++)
		scanf("%d",&a1[i]);
	for(i=0;i<n2;i++)
		scanf("%d",&a2[i]);

}

void paixu(int b1[],int b2[],int m1,int m2)
{
	int i,j,t;
	for(i=0;i<m1-1;i++)
		for(j=0;j<m1-1-i;j++)
			if(b1[j]>b1[j+1])
			{
				t=b1[j];
				b1[j]=b1[j+1];
				b1[j+1]=t;
			}
	for(i=0;i<m2-1;i++)
		for(j=0;j<m2-1-i;j++)
			if(b2[j]>b2[j+1])
			{
				t=b2[j];
				b2[j]=b2[j+1];
				b2[j+1]=t;
			}
}

void hebing(int c1[],int c2[],int m1,int m2)
{
	int i,j;
	for(i=0;i<m1;i++)
		a[i]=c1[i];
	for(j=0;j<m2;j++)
	{
		a[i]=c2[j];
		i++;
	}
}

void shuchu(int d[],int m1,int m2)
{
	int i;
	for(i=0;i<(m1+m2);i++)
	{
		if(i<m1+m2-1)
			printf("%d ",d[i]);
		else
			printf("%d\n",d[i]);
	}
}

void main()
{
	shuru();
	paixu(a1,a2,n1,n2);
	hebing(a1,a2,n1,n2);
	shuchu(a,n1,n2);
}
int j,k;
void G(int a[])
{
    int n,m,q;
    int *p;
    p=a;
    for(n=0;n<j;n++)
    {
           for(m=n+1;m<j;m++)
           {
                 if(p[n]>p[m])
                 {
                     q=p[n];
                     p[n]=p[m];
                     p[m]=q;
                 }
           }
    }
}
void g(int a[])
{
    int n,m,q;
    int *p;
    p=a;
    for(n=0;n<k;n++)
    {
           for(m=n+1;m<k;m++)
           {
                 if(p[n]>p[m])
                 {
                     q=p[n];
                     p[n]=p[m];
                     p[m]=q;
                 }
           }
    }
}
void F(int a[],int b[])
{
    G(a);
    g(b);
    int n,m;
    printf("%d",a[0]);
    for(n=1;n<j;n++)
         printf(" %d",a[n]);
    for(m=0;m<k;m++)
         printf(" %d",b[m]);
}
int main()
{
     int n,m;
     int a[5000],b[5000];
     scanf("%d %d",&j,&k);
     for(n=0;n<j;n++)scanf("%d",&a[n]);
     for(m=0;m<k;m++)scanf("%d",&b[m]);
     F(a,b);
     return 0;
}
int n1,n2,a[200],b[100];

void readNum()
{
	int i;
	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]);
}

void Bubble()
{
	int t,i,j;
	for(i=n1-1;i>=1;i--)
	{
		for(j=0;j<i;j++)
		{
			if(a[j]>a[j+1])
			{
				t=a[j];
				a[j]=a[j+1];
				a[j+1]=t;
			}
		}
	}
	for(i=n2-1;i>=1;i--)
	{
		for(j=0;j<i;j++)
		{
			if(b[j]>b[j+1])
			{
				t=b[j];
				b[j]=b[j+1];
				b[j+1]=t;
			}
		}
	}
}

void gether()
{
	int i;
	for(i=0;i<n2;i++)
		a[n1+i]=b[i];
}

void printNum()
{
	int i;
	for(i=0;i<n1+n2;i++)
		printf("%d%c",a[i],(i<n1+n2-1)?' ':'\n');
}

void main()
{
	readNum();
	Bubble();
	gether();
	printNum();
}
int main()
{
	void shit(int ,int);
	int m,n;
	scanf("%d %d",&m,&n);
	shit(m,n);
	return 0;
}
void shit(int m,int n)
{
	int i,j;
	int temp;
	int a[20];
	int	b[20];
	for(i=0;i<m;i++)
	{
		scanf("%d",&a[i]);
	}
	for(j=0;j<n;j++)
	{
		scanf("%d",&b[j]);
	}
	for(i=1;i<m;i++)
	{
		for(j=0;j<m-i;j++)
		{
			if(a[j]>a[j+1])
			{
				temp=a[j];
				a[j]=a[j+1];
				a[j+1]=temp;
			}
		}
	}
	temp=0;
	for(i=1;i<n;i++)
	{
		for(j=0;j<n-i;j++)
		{
			if(b[j]>b[j+1])
			{
				temp=b[j];
				b[j]=b[j+1];
				b[j+1]=temp;
			}
		}
	}
	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 input(int *s,int n)
{
    
}
int sort(int *s,int n)
{
    
}
main()
{
      //??m?n 
      int m,n;
      scanf("%d %d",&m,&n);
      
      //?????? 
      int *a=(int *)malloc(m*sizeof(int));
      int *b=(int *)malloc(n*sizeof(int));
      int *s=(int *)malloc((m+n)*sizeof(int));
      
      //?? 
      for (int i=0;i<m;i++)
      scanf("%d",a+i);
      for (int i=0;i<n;i++)
      scanf("%d",b+i);
      
      //?? 
      for (int i=1;i<m;i++)
      for (int j=0;j<m-i;j++)
      {
        if (*(a+j)>*(a+(j+1)))
        {
                        int t;
                        t=*(a+j);
                        *(a+j)=*(a+(j+1));
                        *(a+(j+1))=t;
        }
      }
      for (int i=1;i<n;i++)
      for (int j=0;j<n-i;j++)
      {
        if (*(b+j)>*(b+(j+1)))
        {
                        int t;
                        t=*(b+j);
                        *(b+j)=*(b+(j+1));
                        *(b+(j+1))=t;
        }
      }
      
      //?? 
      for (int i=0;i<m;i++)
      s[i]=a[i];
      for (int i=0;i<n;i++)
      s[m+i]=b[i];
      for (int i=0;i<m+n;i++)
      {
          if (i==0)
          printf("%d",s[i]);
          else
          printf(" %d",s[i]);
      }

}
int main()
{
	void read(int a[100],int b[100],int m,int n);
	void bubble(int a[100],int m);
	void print(int a[100],int b[100],int m,int n);		
	int m,n,a[100],b[100];
	scanf("%d%d",&m,&n);
	read(a,b,m,n);
	bubble(a,m);
	bubble(b,n);
	print(a,b,m,n);
	return 0;
}

void read(int a[100],int b[100],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 bubble(int a[100],int m)
{
	int i,j,t;
	for(i=0;i<m;i++)
	{
		for(j=0;j<m-1;j++)
		{
			if(a[j]>a[j+1])
			{
				t=a[j];
				a[j]=a[j+1];
				a[j+1]=t;
			}
		}
	}
}

void print(int a[100],int b[100],int m,int n)
{
	int i;
	for(i=0;i<m;i++)
	{
		printf("%d ",a[i]);
	}
	for(i=0;i<n-1;i++)
	{
		printf("%d ",b[i]);
	}
	printf("%d\n",b[n-1]);
}
void mix(int m, int n);  
int main()
{
	int m, n; 
	cin >> m >> n; 
	mix(m, n); 
	return 0; 
}
void mix(int m, int n)
{
	int i, j, a[10000], b[10000], t; 
	for ( i = 1; i <= m; i++ )
		cin >> a[i]; 
	for ( i = 1; i <= n; i++ )
		cin >> b[i]; 
	for ( j = 1; j < m; j++ )
	{
		for ( i = 1; i <= m - j; i++ )
		{
			if ( a[i] > a[i+1] )
			{
				t = a[i]; 
				a[i] = a[i+1]; 
				a[i+1] = t; 
			}
		}
	}
	for ( j = 1; j < n; j++ )
	{
		for ( i = 1; i <= n - j; i++ )
		{
			if ( b[i] > b[i+1] )
			{
				t = b[i]; 
				b[i] = b[i+1]; 
				b[i+1] = t; 
			}
		}
	}
	for ( i = 1; i <= m; i++ )
		cout << a[i] << " ";
	cout << b[1]; 
	for ( i = 2; i <= n; i++ )
		cout << " " << b[i]; 
}
/*
 * ?????????.cpp
 * ??????
 * ?????2012.11.27
 * ??????????????????????????
 */
int x,y;
int print(){
	cout<<" ";
	return 0;
}
void order(int n)
{
	int i,j,temp=0;
	int a[10];
	for (i=0;i<n;i++){
		cin>>a[i];
	}
	for (i=0;i<n-1;i++){
		for (j=0;j<n-1-i;j++){
			if (a[j+1]<a[j]){
				temp=a[j];
				a[j]=a[j+1];
				a[j+1]=temp;
			}
		}
	}
	for (i=0;i<n-1;i++){
		cout<<a[i]<<" ";
	}
	cout<<a[n-1];
}
int main()
{
	cin>>x>>y;
	order(x);
	print();
	order(y);
	return 0;
}
void input(int array[],int n)
{int i;
for(i=0;i<=n-2;i++)
{
 scanf("%d ",&array[i]);}
 scanf("%d\n",&array[n-1]);}
void order(int array[],int n)
{int i,o,e;
 for(i=0;i<=n-2;i++)
{for(o=i+1;o<=n-1;o++)
 {if(array[i]>array[o]){e=array[i];array[i]=array[o];array[o]=e;}
}}}
void output(int array[],int n)
{int i;
for(i=0;i<=n-2;i++)
{printf("%d ",array[i]);}
 printf("%d",array[n-1]);}
void main()
{int a[20],b[20],q,w;
 scanf("%d %d\n",&q,&w);
 input(a,q);
 input(b,w);
 order(a,q);order(b,w);
 output(a,q);printf(" ");output(b,w);}
int a[999]={0},b[999]={0},c[1999]={0};
int m,n;
void f()
{
    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 rank()
{
    int i,j,k;
    for (i=0;i<m-1;i++)
    {
        for(j=0;j<m-i-1;j++)
        {
            if (a[j]>a[j+1])
            {
                k=a[j];
                a[j]=a[j+1];
                a[j+1]=k;
            }
        }
    }
    for (i=0;i<n-1;i++)
    {
        for(j=0;j<n-i-1;j++)
        {
            if (b[j]>b[j+1])
            {
                k=b[j];
                b[j]=b[j+1];
                b[j+1]=k;
            }
        }
    }
}
void combine()
{
    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 print()
{
    int i;
    printf("%d",c[0]);
    for(i=1;i<m+n;i++)
        printf(" %d",c[i]);
}
void main()
{
    f();
    rank();
    combine();
    print();
}
int n,m,i;
int a[100];
int b[100];
void passed(int x,int y)
{
	int j,t;
	for(i=1;i<x;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<y;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;
		}
	}
	printf("%d",a[0]);
	for(i=1;i<x;i++) printf(" %d",a[i]);
	for(i=0;i<y;i++) printf(" %d",b[i]);
}
int main()
{
	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]);
	passed(n,m);
}
void read(int n,int a[100]) //??
{
	int i=0;
	for(i=0;i<n;i++)
	{
		cin>>a[i];
	}
}
int paixu(int a[100],int n) //??
{
	int i,j,t;
    for(j=n-2;j>=0;j--)
		for(i=0;i<=j;i++)
		{
			if(a[i]>a[i+1])
			{
				t=a[i];
				a[i]=a[i+1];
				a[i+1]=t;

			}
		}
	return(*a);
}
void mix(int a[],int b[],int c[],int e,int d)  //??
{
	int i=0,t;
	for (i=0;i<e;i++)
	{
		c[i]=a[i];
	}
	for (i=0;i<d;i++)
	{
		c[i+e]=b[i];
	}
	
}
void out(int c[300],int e,int d)        //??
{
	int i=0;
	for(i=0;i<e+d-1;i++)
	{
		cout<<c[i]<<" ";
	}
	cout<<c[e+d-1];
}
int main( )
{
	int a[100],b[100],c[300],i=0,x,y;
	cin>>x>>y;
	read(x,a);
	read(y,b);
	paixu(a,x);
	paixu(b,y);
	mix(a,b,c,x,y);
	out(c,x,y);
	return 0;
}
void main()
{
int i;
int aa[100],bb[100],cc[200],la,lb;
void scan(int a[],int la,int b[],int lb);
void sort(int a[],int n);
void combine(int a[],int la,int b[],int lb,int c[]);

scanf("%d %d",&la,&lb);

scan(aa,la,bb,lb);
sort(aa,la);
sort(bb,lb);


combine(aa,la,bb,lb,cc);

}

void scan(int a[],int la,int b[],int lb)
{
	int i;
	
	for(i=0;i<la;i++)
		scanf("%d",&a[i]);
	for(i=0;i<lb;i++)
		scanf("%d",&b[i]);

}

void sort(int a[],int n)
{
	int i,j,k,temp;

  for(i=0;i<n-1;i++)
  {
  k=i;
  for(j=i+1;j<n;j++)
   if(a[j]<a[k]) k=j;
  temp=a[k];a[k]=a[i];a[i]=temp;

  }
  
}

void combine(int a[],int la,int b[],int lb,int c[])
{
int i;

for(i=0;i<lb;i++)
  a[la+i]=b[i];
for(i=0;i<la+lb;i++)
c[i]=a[i];
printf("%d",c[0]);
for(i=1;i<la+lb;i++)
printf(" %d",c[i]);
}
int main()
{
	int m,n;
	void f1(int x),f2(int x);
	scanf("%d %d",&m,&n);
	f1(m);
	f2(n);
	return 0;
}
void f1(int x)
{
	int i,m,j=0,a[2][100];
	for(i=0;i<x;i++)
	scanf("%d",&a[0][i]);
	while(j<x)
	{
	m=a[0][0];
	for(i=0;i<x;i++)
	if(a[0][i]>m)
	m=a[0][i];
	for(i=0;i<x;i++)
	if(a[0][i]==m)
	{
		a[1][j]=m;
		j++;
		a[0][i]=-1;
	}
    }
    for(i=x-1;i>=0;i--)
    {
	if(i!=x-1) 

    printf(" %d",a[1][i]);
    else printf("%d",a[1][i]);
    }
}
void f2(int x)
{
	int i,m,j=0,a[2][100];
	for(i=0;i<x;i++)
	scanf("%d",&a[0][i]);
	while(j<x)
	{
	m=a[0][0];
	for(i=0;i<x;i++)
	if(a[0][i]>m)
	m=a[0][i];
	for(i=0;i<x;i++)
	if(a[0][i]==m)
	{
		a[1][j]=m;
		j++;
		a[0][i]=-1;
	}
    }
    for(i=x-1;i>=0;i--)
    printf(" %d",a[1][i]);

}
int main()
{
    int i,n,m,a[100],b[100],t,j;
    scanf("%d%d", &n, &m);
    for(i=1;i<=n;i++){scanf("%d", &a[i]);}
    for(i=1;i<=m;i++){scanf("%d", &b[i]);}
    for(i=1;i<=n;i++){
                      for(j=2;j<=n;j++){
                                        if(a[j]<a[j-1]){
                                                       t=a[j];
                                                       a[j]=a[j-1];
                                                       a[j-1]=t;
                                                       }
                                        }
                      }
    for(i=1;i<=m;i++){
                      for(j=2;j<=m;j++){
                                        if(b[j]<b[j-1]){
                                                       t=b[j];
                                                       b[j]=b[j-1];
                                                       b[j-1]=t;
                                                       }
                                        }
                      }
    for(i=1;i<=n;i++){printf("%d ", a[i]);}
    for(i=1;i<=m;i++){printf("%d", b[i]);
                      if(i<m){printf(" ");}}
    return 0;
    }
/*
 * mm.cpp
 *
 *  Created on: 2012-11-18
 *      Author: ada
 */
void get_array(int a[]);
int a[101] ;
int main()
{

	get_array(a);

}
void get_array(int a[])//????
{

	int n1 , n2 ;
	cin >>n1 >>n2 ;
	for(int i = 0 ; i < n1 ; i++)
	{
		cin >>a[i];
	}
	for(int i = 0 ; i < n1-1 ; i++)//????
	{
		for(int j = 0 ; j < n1-1-i ; j++)
		{
			if(a[j]>a[j+1])
			{
				int tmp ;
				tmp = a[j] ;
				a[j] = a[j+1];
				a[j+1] = tmp ;
			}
		}
	}
	cout << a[0] ;
	for(int i = 1 ; i < n1 ; i++)
		{
			cout <<" "<<a[i];
		}
	for(int i = 0 ; i < n2 ; i++)
		{
			cin >>a[i];
		}
		for(int i = 0 ; i < n2-1 ; i++)//????
		{
			for(int j = 0 ; j < n2-1-i ; j++)
			{
				if(a[j]>a[j+1])
				{
					int tmp ;
					tmp = a[j] ;
					a[j] = a[j+1];
					a[j+1] = tmp ;
				}
			}
		}
		for(int i = 0 ; i < n2 ; i++)
			{
				cout <<" "<<a[i];
			}
	return ;
}
int a[2][5000],b[2],k;
void ppt(int k)
{
	for(int i=0;i<b[k]-1;i++)
		for(int j=0;j<b[k]-1-i;j++)
			if(a[k][j]>a[k][j+1])
			{
				int tr;
					tr=a[k][j];
					a[k][j]=a[k][j+1];
					a[k][j+1]=tr;
			}
}

int main(){
	cin>>b[0]>>b[1];
	for( k=0;k<=1;k++)
	{
		for(int m=0;m<b[k];m++)
			cin>>a[k][m];
		ppt(k);
		for(int m=0;m<b[k];m++){
				if(k==0&&m==0)	cout<<a[k][m];
				else cout<<" "<<a[k][m];
	}}
return 0;
}
void main()
{
	int a,b;
	void func(int,int);
	scanf("%d%d",&a,&b);
    func(a,b);
}
void func(int x,int y)
{
	int i,j,t,q;
	int a[100],b[100];
	for(i=0;i<x;i++)
		scanf("%d",&a[i]);
	for(i=0;i<y;i++)
		scanf("%d",&b[i]);
	for(i=1;i<x;i++)
	{
		for(j=0;j<x-i;j++)
		{
			if(a[j]>a[j+1])
			{
				t=a[j];
				a[j]=a[j+1];
				a[j+1]=t;
			}
		}
	}
	for(i=1;i<y;i++)
	{
		for(j=0;j<y-i;j++)
		{
			if(b[j]>b[j+1])
			{
				t=b[j];
				b[j]=b[j+1];
				b[j+1]=t;
			}
		}
	}
	for(i=0;i<x;i++)
	{
		printf("%d ",a[i]);
	}
	for(i=0,q=0;i<y;i++)
	{
		if(q<y-1)
		{
			printf("%d ",b[i]);
			q=q+1;
		}
		else printf("%d",b[i]);
	}
}
const int mmax=1000;
int a[mmax];//??????????????
int b[mmax];
int m,n;
void mread();
void msort();
void mcomb();
void mdisp();
int main()
{
	mread();
	msort();
	mcomb();
	mdisp();
	return 0;
}
void mread(){
	cin >> m >>n;//??
	for(int i=0;i<m;i++)
		cin >> a[i];
	for(int i=0;i<n;i++)
		cin >> b[i];
}
void msort(){
	int t;
	for(int i=0;i<m;i++)//????
		for(int j=m-1;j>i;j--)
			if(a[j-1]>a[j])
			{
				t=a[j-1];
				a[j-1]=a[j];
				a[j]=t;
			}
	for(int i=0;i<n;i++)
		for(int j=n-1;j>i;j--)
			if(b[j-1]>b[j])
			{
				t=b[j-1];
				b[j-1]=b[j];
				b[j]=t;
			}
}
void mcomb()
{
	for(int i=0;i<n;i++)//??
		a[i+m]=b[i];
}
void mdisp()
{
	for(int i=0;i<m+n;i++)//???????
	{
		if(i!=0)
			cout << ' ';
		cout << a[i];
	}
}
/*
 * functions.cpp
 *
 *  Created on: 2013-11-29
 *      Author: 111
 */
int str1[50]={1},str2[50]={1};
int length1,length2;
void input_string(void)
{
	cin >> length1 >> length2;
	for (int i=0;i<length1;i++)
		cin >> str1[i];
	for (int i=0;i<length2;i++)
		cin >> str2[i];
}
void rank_string(void)
{
	int temp;
	for (int i=0;i<length1-1;i++)
		for (int j=i+1;j<length1;j++)
			if (str1[i]>str1[j])
			{
			    temp = str1[i];
			    str1[i] = str1[j];
			    str1[j] = temp;
			}
	for (int i=0;i<length2-1;i++)
	    for(int j=i+1;j<length2;j++)
	    	if (str2[i]>str2[j])
	    	{
	    		temp = str2[i];
	    		str2[i] = str2[j];
	    		str2[j] = temp;
	    	}
}
void combine_string(void)
{
	for (int i=length1;i<length1+length2;i++)
		str1[i] = str2[i-length1];
}
void output_string(void)
{
	cout << str1[0];
	for (int i=1;i<length1+length2;i++)
		cout << ' ' << str1[i];
}
int main()
{
	input_string();
	rank_string();
	combine_string();
	output_string();
	return 0;
}