semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
void input(int p,int q,int *num1,int *num2)
{
     int i;
     for(i=0;i<p;i++) scanf("%d",num1+i);
     for(i=0;i<q;i++) scanf("%d",num2+i);
}
void sort(int p,int q,int *num1,int *num2)
{
     int i,j,t;
     for(i=0;i<p;i++)
     {
          for(j=0;j<p-1-i;j++)
          {
               if(num1[j]>num1[j+1])
               {
                    t=num1[j];
                    num1[j]=num1[j+1];
                    num1[j+1]=t;
               }
          }
     }
     for(i=0;i<q;i++)
     {
          for(j=0;j<q-1-i;j++)
          {
               if(num2[j]>num2[j+1])
               {
                    t=num2[j];
                    num2[j]=num2[j+1];
                    num2[j+1]=t;
               }
          }
     }
}
void print(int p,int q,int *num1,int *num2)
{
     int i;
     printf("%d",num1[0]);
     for(i=1;i<p;i++) printf(" %d",num1[i]);
     for(i=0;i<q;i++) printf(" %d",num2[i]);
}
main ()
{
     int p,q,*num1,*num2;
     scanf("%d%d",&p,&q);
     num1=(int*)malloc(p*sizeof(int));
     num2=(int*)malloc(q*sizeof(int));
     input(p,q,num1,num2);
     sort(p,q,num1,num2); 
     print(p,q,num1,num2);
     
}
void scan(int n[],int a[],int b[])
{ 
	int i;
	scanf("%d%d",&n[0],&n[1]);

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

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



void sort(int a[],int b[], int m ,int n)
{
	int i,j,t;

	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;}
}

void com(int a[],int b[],int ab[],int m,int n)
{
	int i;

	for(i=0;i<m;i++)
		ab[i]=a[i];

	for(i=0;i<n;i++)
		ab[m+i]=b[i];
}

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

	printf("%d",ab[m+n-1]);

}


int main()
{
	int a[101],b[101],n[2],ab[202];

		scan(n,a,b);
	sort(a,b,n[0],n[1]);
	com(a,b,ab,n[0],n[1]);
	prt(ab,n[0],n[1]);

	return 0;
}
int main()
{
	int a[100],b[100];
	int n1,n2;
	void sca(int n,int a[]);
	void pai(int n,int a[]);
	void he(int n1,int n2,int a[],int b[]);
	void pri(int n1,int n2,int a[]);
	scanf("%d%d",&n1,&n2);
	sca(n1,a);
	sca(n2,b);
	pai(n1,a);
	pai(n2,b);
	he(n1,n2,a,b);
	pri(n1,n2,a);

	return 0;


}
void sca(int n,int a[])
{
	int i;

	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
}
void pai(int n,int a[])
{
	int temp,i,j,flag,min;
	for(i=0;i<n;i++)
	{
		min=a[i];
		flag=i;
		for(j=i;j<n;j++)
		{
			if(min>a[j])
			{
				min=a[j];
				flag=j;
			}
		}
		temp=a[i];
		a[i]=a[flag];
		a[flag]=temp;
	}
}
void he(int n1,int n2,int a[],int b[])
{
	int i;
	for(i=0;i<n2;i++)
		a[n1+i]=b[i];
}
void pri(int n1,int n2,int a[])
{
	int i;
	for(i=0;i<n1+n2-1;i++)
		printf("%d ",a[i]);
	printf("%d",a[n1+n2-1]);
}
void sca(int n,int l);
int main()
{
	int n1,n2;
	scanf("%d%d",&n1,&n2);
	sca(n1,1);
	sca(n2,2);
}
void sca(int n,int l)
{
int i,j,a[100]={0},p;
for (i=0;i<n;i=i+1)
{
	scanf("%d",&a[i]);
	for(j=i;j>0;j=j-1)
	{
		if (a[j]<a[j-1])
		{
			p=a[j];
			a[j]=a[j-1];
			a[j-1]=p;
		}
	}
}
for(i=0;i<n-1;i=i+1)
	printf("%d ",a[i]);
 if (l==1) printf("%d ",a[n-1]);
 else printf("%d",a[n-1]);
}
int s1[100],s2[100],i,j,a,b,t,s;
void in (void);/*????????*/
void order(void);
void stick(void);
void out(void);

void main()
{
	 in();
	 order();
	 stick();
	out();
}

void in()
{
	scanf("%d%d",&a,&b);
	for(i=0;i<a;i++)
		scanf("%d",&s1[i]); 
	for(i=0;i<b;i++)
		scanf("%d",&s2[i]);
}
void order()
{
	
	for(i=1;i<a;i++)
	{
		for(j=0;j<a-i;j++)
		{
			if(s1[j]>s1[j+1])
			{
				t=s1[j];
				s1[j]=s1[j+1];
				s1[j+1]=t;
			}
		}
	}
	for(i=1;i<b;i++)
	{
		for(j=0;j<b-i;j++)
		{
			if(s2[j]>s2[j+1])
			{
				t=s2[j];
				s2[j]=s2[j+1];
				s2[j+1]=t;
			}
		}
	}
}
void stick()
{
	
	s=a+b;
	for(i=a;i<s;i++)
	{s1[i]=s2[i-a];}
}
void out()
{
	
	for(i=0;i<a+b;i++)
	{
		if (i==0)
		printf("%d",s1[i]);
		else printf(" %d",s1[i]);
	}
}
int a[100],b[100];
int m,n,i,j;
void temp()
{
	cin>>m>>n;
	for(i=0;i<m;i++)
	{
		cin>>a[i];
	}
	for(i=0;i<n;i++)
	{
		cin>>b[i];
	}
}
void temp1()
{
	int x;
	for(i=0;i<m-1;i++)
	{
	for(j=0;j<m-i-1;j++)
	{
		if(a[j]>a[j+1])
		{
			x=a[j];
			a[j]=a[j+1];
			a[j+1]=x;
		}
	}
	}
}
void temp2()
{
	int x;
	for(i=0;i<n-1;i++)
	{
	for(j=0;j<n-i-1;j++)
	{
		if(b[j]>b[j+1])
		{
			x=b[j];
			b[j]=b[j+1];
			b[j+1]=x;
		}
	}
	}
}
void temp3()
{
	for(i=0;i<m;i++)
	{
		cout<<a[i]<<" ";
	}
	for(i=0;i<n-1;i++)
	{
		cout<<b[i]<<" ";
	}
	cout<<b[n-1];
}
int main()
{
	temp();
	temp1();
	temp2();
	temp3();
	return 0;
}
int m,n;
static char a[100],b[100];
int i,j,temp;
void get()
{
	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 order()
{
	for(i=m-1;i>=0;i--)
	for(j=0;j<i;j++)
	if(a[j]>a[j+1])
	{
		temp=a[j];
		a[j]=a[j+1];
		a[j+1]=temp;
		}
	for(i=n-1;i>=0;i--)
	for(j=0;j<i;j++)
	if(b[j]>b[j+1])
	{
		temp=b[j];
		b[j]=b[j+1];
		b[j+1]=temp;
		}
}
void com()
{
	for(i=0;i<n;i++)
	a[m+i]=b[i];	
}
void print()
{
	printf("%d",a[0]);
	for(i=1;i<n+m;i++)
	printf(" %d",a[i]);
}
int main()
{
	get();
	order();
	com();
	print();
}
int a[1001]={0};
int b[1001]={0};
int m,n;
void loaddata()
{
	int l;
	scanf("%d %d",&m,&n);
	for (l=0;l<m;l++) scanf("%d",&a[l]);
	for (l=0;l<n;l++) scanf("%d",&b[l]);
}
void arrsort()
{
	int i,j,k;
	for (i=0;i<m;i++)
	{
		for (j=i+1;j<m;j++)
		{
			if (a[i]>a[j])
			{
				k=a[i];
				a[i]=a[j];
				a[j]=k;
			}
		}
	}
	for (i=0;i<n;i++)
	{
		for (j=i+1;j<n;j++)
		{
			if (b[i]>b[j])
			{
				k=b[i];
				b[i]=b[j];
				b[j]=k;
			}
		}
	}

}
void add()
{
	int p;
	for (p=0;p<n;p++)
	{
		a[p+m]=b[p];
	}
}
void print()
{
	int q;
	printf("%d",a[0]);
	for (q=1;q<m+n;q++)
	{
		printf(" %d",a[q]);
	}
}

int main()
{
	loaddata();
    arrsort();
	add();
	print();
	return 0;
}
void read(int a[],int m,int b[],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 order(int a[],int n)
{
	int i,j,aaa;
	for(i=0;i<n-1;i++)
	{
		for(j=0;j<n-i-1;j++)
		{
			if(a[j]>a[j+1])
			{
				aaa=a[j];
			    a[j]=a[j+1];
				a[j+1]=aaa;
			}
		}
	}
	
}
void combine(int a[],int m,int b[],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",b[n-1]);
}
void main()
{
	int a[100],b[100],m,n;
	scanf("%d%d",&m,&n);
	read(a,m,b,n);
	order(a,m);
	order(b,n);
	combine(a,m,b,n);
}
void change(int a[],int b[],int c[])
{
	int x=0,y=0;
	cin>>x>>y;
	int i=0;
	for(i=0;i<x;i++)
		cin>>a[i];
	for(i=0;i<y;i++)
		cin>>b[i];
	int j=0,t=0;
	for(i=0;i<x-1;i++)
	{
		for(j=0;j<x-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<y-1;i++)
	{
		for(j=0;j<y-1-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++)
		c[i]=a[i];
	for(i=x;i<x+y;i++)
		c[i]=b[i-x];
	for(i=0;i<x+y-1;i++)
		cout<<c[i]<<' ';
	cout<<c[x+y-1];
}//?????????????
int main()
{
	int a[1000]={0},b[1000]={0},c[2000]={0};
	change(a,b,c);//????
	return 0;
}
int m,n,a;
int str1[10000],str2[10000];
void dosomething(int str[10000],int q);

main()
{
    scanf("%d%d",&n,&m);
    for(int i=0;i<n;i++)
        scanf("%d",&str1[i]);
    for(int i=0;i<m;i++)
        scanf("%d",&str2[i]);
    dosomething(str1,n);
    dosomething(str2,m);
    for (int i=0;i<n;i++)
        printf("%d ",str1[i]);
    for (int i=0;i<m;i++)
        i==0?printf("%d",str2[i]):printf(" %d",str2[i]);

        }

void dosomething(int str[10000],int q)
{
    for (int i=0;i<q-1;i++)
        for (int j=i+1;j<q;j++)
        {
            if (str[i]>str[j])
                a=str[i],str[i]=str[j],str[j]=a;
        }
}
int scan()
{
	int m;
	scanf("%d",&m);
	return m;
}
int fuzhi(int a[],int n)
{
	int i,k;
	for(i=0;i<n;i++)
	{
		scanf("%d",&k);
		a[i]=k;
	}
	return 0;
}
int paixu(int b[],int n)
{
	int i,j,temp;
	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;
			}
		}
	}
	return 0;
}
int print(int c[],int d[],int m3,int m4)
{
	int i=0;
	for(i=0;i<m3;i++)
	{
		printf("%d ",c[i]);
	}
	for(i=0;i<m4;i++)
	{
		printf("%d",d[i]);
		if(i!=m4-1)
		{
			printf(" ");
		}
	}
	return 0;
}



int main()
{
	int m1;
	int m2;
	int x[100];
	int y[100];
	m1=scan();
	m2=scan();
	fuzhi(x,m1);
	fuzhi(y,m2);
	paixu(x,m1);
	paixu(y,m2);
	print(x,y,m1,m2);
	return 0;
}
int m,n,a[1000]={0},b[1000]={0};
int main()
{
    int i,j,k;
    void read(int array1[],int array2[]);
    void sort(int array[],int x);
    void print(int array5[],int array6[]);
    scanf("%d%d",&m,&n);
    read(a,b);
    sort(a,m);
    sort(b,n);
    print(a,b);
}
void read(int array1[],int array2[])
{
    int i;
    for(i=0;i<m;i++)
    scanf("%d",&a[i]);
    for(i=0;i<n;i++)
    scanf("%d",&b[i]);
}
void sort(int array[],int x)
{
    int i,j,k,t;
    for(i=0;i<x-1;i++)
        for(j=i+1;j<x;j++)
                if(array[
j]<array[i])
                    {t=array[i];array[i]=array[j];array[j]=t;}
}

void print(int array5[],int array6[])
{
    int j;
    for(j=0;j<m;j++)
    printf("%d ",array5[j]);
    for(j=0;j<n-1;j++)
    printf("%d ",array6[j]);
    printf("%d",array6[n-1]);
}
int a[10000], b[10000], c[20000],n ,m;
void input(){
	cin >> n >> m;
	for(int i = 0; i < n; i ++)
		cin >> a[i];
	for(int j = 0; j < m; j ++)
		cin >> b[j];
}
void sort(){
	int temp;
	for(int i = 0; i < n-1; i ++)
		for(int j = 0; j < n-1-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 < m-1; i ++)
			for(int j = 0; j < m-1-i; j ++){
				if(b[j] > b[j+1]){
					temp = b[j];
					b[j] = b[j+1];
					b[j+1] = temp;
				}
			}
}
void combine(){
	for(int i = 0; i < n; i ++)
		c[i] = a[i];
	for(int j = n; j < n+m; j ++)
		c[j] = b[j - n];
}
void out(){
	cout << c[0] ;
	for(int i = 1; i <n+m; i ++)
		cout << " "<<c[i];
}
int main() {
	input();
	sort();
	combine();
	out();
	return 0;
}
struct HaHa
{
	int x,y,z[2][1000],g[2000];
};
struct HaHa scan()
{
	struct HaHa hehe;
	int i,j;
	scanf("%d%d",&hehe.x,&hehe.y);
	for(i=0;i<hehe.x;i++)
		scanf("%d",&hehe.z[0][i]);
	for(j=0;j<hehe.y;j++)
		scanf("%d",&hehe.z[1][j]);
	return(hehe);
}
struct HaHa line(struct HaHa yahoo)
{
	int i,temp,j;
	struct HaHa yahoo1;
	for(i=0;i<yahoo.x;i++)
	{
		for(j=i;j<yahoo.x;j++)
		{
			if(yahoo.z[0][i]>yahoo.z[0][j])
			{
				temp=yahoo.z[0][i];
				yahoo.z[0][i]=yahoo.z[0][j];
				yahoo.z[0][j]=temp;
			}
		}
	}
	for(i=0;i<yahoo.y;i++)
	{
		for(j=i;j<yahoo.y;j++)
		{
			if(yahoo.z[1][i]>yahoo.z[1][j])
			{
				temp=yahoo.z[1][i];
				yahoo.z[1][i]=yahoo.z[1][j];
				yahoo.z[1][j]=temp;
			}
		}
	}
	yahoo1=yahoo;
	return(yahoo1);
}
struct HaHa combine(struct HaHa xx)
{
	int i;
	struct HaHa xx1;
	for(i=0;i<xx.x;i++)
	{
		xx.g[i]=xx.z[0][i];
	}
	for(i=0;i<xx.y;i++)
	{
		xx.g[i+xx.x]=xx.z[1][i];
	}
	xx1=xx;
	return(xx1);
}
void print(struct HaHa xxx)
{
	int i;
	for(i=0;i<xxx.x+xxx.y-1;i++)
	{
		printf("%d ",xxx.g[i]);
	}
	printf("%d",xxx.g[xxx.x+xxx.y-1]);
}
void main()
{
	print(combine(line(scan())));
}
/*
 * step.cpp
 *
 *  Created on: 2013-12-1
 *      Author: ???1300012996
 */
int a[100],b[100],c[200],i,j,m,n;
void read(void){
	cin>>m>>n;
	for(i=0;i<m;i++){cin>>a[i];}
	for(i=0;i<n;i++){cin>>b[i];}
	return;
}
void place(void){
	int s;
	for(i=1;i<m;i++){
		for(j=0;j<m-i;j++){
			if(a[j]>a[j+1]){s=a[j];a[j]=a[j+1];a[j+1]=s;}
		}
	}
	for(i=1;i<n;i++){
		for(j=0;j<n-i;j++){
			if(b[j]>b[j+1]){s=b[j];b[j]=b[j+1];b[j+1]=s;}
		}
	}
	return;
}
void together(void){
	for(i=0;i<m;i++){c[i]=a[i];}
	for(i=m;i<m+n;i++){c[i]=b[i-m];}
	return;
}
void put(void){
	for(i=0;i<m+n;i++){
		if(i==0){cout<<c[i];}
		else{cout<<' '<<c[i];}
	}
	return;
}


int main(){
	read();
	place();
	together();
	put();
	return 0;
}
int n,m,a[100],b[100],c[200];
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 k[],int l)
{
	int i,j,t;
	for(i=0;i<l-1;i++)
		for(j=i;j<l;j++)
			if(k[i]>k[j])
			{
				t=k[i];
				k[i]=k[j];
				k[j]=t;
			}
}

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

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

void main()
{
	f1();
    f3();
	f4();
}
int main()
{
    int m,n,n1[100],n2[100],o[200];
    int *p1=&m,*p2=&n;
    void get(int *p1,int*p2,int m1[],int m2[]);
    void sort(int*p,int m[]);
    void cpy(int*p1,int*p2,int m1[],int m2[],int m[]);
    void put(int *p1,int*p2,int m[]);
    get(p1,p2,n1,n2);
    sort(p1,n1);
    sort(p2,n2);
    cpy(p1,p2,n1,n2,o);
    put(p1,p2,o);
    return 0;
}
void get(int *p1,int*p2,int m1[],int m2[])
{

    int i;
    scanf("%d%d",p1,p2);
    for(i=0;i<*p1;i++) scanf("%d",&m1[i]);
    for(i=0;i<*p2;i++) scanf("%d",&m2[i]);
}
void sort(int*p,int m[])
{
    int i,j,k;
    for(i=0;i<*p;i++)
    for(j=i+1;j<*p;j++)
    {
        if(m[i]>m[j])
        {
            k=m[i];
            m[i]=m[j];
            m[j]=k;
        }
    }
}
void cpy(int*p1,int*p2,int m1[],int m2[],int m[])
{
    int i,j;
    for(i=0,j=0;i<*p1;i++,j++) m[i]=m1[i];
    for(j=0;i<*p1+*p2;i++,j++) m[i]=m2[j];
}
void put(int *p1,int *p2,int m[])
{
    int i;
    printf("%d",m[0]);
    for(i=1;i<*p1+*p2;i++) printf(" %d",m[i]);
}
int a[1000],b[1000],m,n;
void shuru(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 paixu(int f[],int length)
{
	int x;
	for(int i=0;i<length-1;i++)
		for(int j=0;j<=length-2-i;j++)
			if (f[j]>f[j+1])
			{
				x=f[j];
				f[j]=f[j+1];
				f[j+1]=x;
			}
}
void shuchu(void)
{
	int i;
	for(i=0;i<m;i++)
			cout<<a[i]<<' ';
	for(i=0;i<n-1;i++)
				cout<<b[i]<<' ';
	cout<<b[i]<<endl;
}
int main()
{
	shuru();
	paixu(a,m);
	paixu(b,n);

	shuchu();
}
void turn(int a[],int n)
{
	int temp,i,j;
	for(j=1;j<n;j++)
	{
		for(i=0;i<n-j;i++)
		{
			if(a[i]>a[i+1])
			{
				temp=a[i];
				a[i]=a[i+1];
				a[i+1]=temp;
			}
		}
	}
	for(i=0;i<n;i++)
	{
		printf("%d",a[i]);
		if(i<n-1)
			printf(" ");
	}
}

int main()
{
	int x,y,i;
	int b[100],c[100];
	scanf("%d %d",&x,&y);
	for(i=0;i<x;i++)
	{
		scanf("%d",&b[i]);
	}
	for(i=0;i<y;i++)
	{
		scanf("%d",&c[i]);
	}
	turn(b,x);
	printf(" ");
	turn(c,y);
	return 0;
}
int main()
{
    int au(int x,int y);
    int x,y;
    scanf("%d%d",&x,&y);
    au(x,y);

}
int au(int x,int y)
{
    int a[100],b[100],i,j,m,n;
    for(i=0;i<x;i++)
    {
        scanf("%d",&a[i]);
    }
    for(j=0;j<y;j++)
    {
        scanf("%d",&b[j]);
    }
    for(i=0;i<x;i++)
    {
        for(m=0;m<x-i-1;m++)
        {
            if(a[m]>a[m+1])
            {
                int t=a[m];
                a[m]=a[m+1];
                a[m+1]=t;
            }
        }
    }
    for(j=0;j<y;j++)
    {
        for(n=0;n<y-j-1;n++)
        {
            if(b[n]>b[n+1])
            {
                int t=b[n];
                b[n]=b[n+1];
                b[n+1]=t;
            }
        }
    }
    for(m=x;m<x+y;m++)
    {
        a[m]=b[m-x];
    }
    for(m=0;m<x+y-1;m++)
    {
        printf("%d ",a[m]);
    }
    printf("%d",a[x+y-1]);
}
int a[10000],b[10000],m,n;
int main()
{
	void Read(),Ord(),Gath(),Prin();
	Read();
	Ord();
	Gath();
	Prin();
}

void Read()
{
	int i;
	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 Ord()
{
	int i,j;
	void swap_a(int i,int j),swap_b(int i,int j);
	for (i=1;i<=m-1;i++)
		for (j=i+1;j<=m;j++)
			if (a[i]>a[j]) swap_a(i,j);
	for (i=1;i<=n-1;i++)
		for (j=i+1;j<=n;j++)
			if (b[i]>b[j]) swap_b(i,j);
}

void Gath()
{
	int i;
	for (i=m+1;i<=m+n;i++)
		a[i]=b[i-m];
}

void Prin()
{
	int i;
	printf("%d",a[1]);
	for (i=2;i<=m+n;i++)
		printf(" %d",a[i]);
}

void swap_a(int i,int j)
{
	int temp;
	temp=a[i];
	a[i]=a[j];
	a[j]=temp;
}

void swap_b(int i,int j)
{
	int temp;
	temp=b[i];
	b[i]=b[j];
	b[j]=temp;
}
int a[233],b[233];
int n,m,i,j,z;
void shuru(int p)
{ 
	scanf("%d %d",&n,&m);
	scanf("%d",&a[0]);
	for(i=1;i<n;i++){scanf(" %d",&a[i]);}
	scanf("%d",&b[0]);
	for(i=1;i<m;i++){scanf(" %d",&b[i]);}
} 
void paixu(int p)
{
	for(i=0;i<n-1;i++)
	{
		for(j=0;j<n-1;j++)
		{
			if(a[j]>a[j+1])
			{
				z=a[j];
				a[j]=a[j+1];
				a[j+1]=z;
			}
		}
	}
	for(i=0;i<m-1;i++)
	{
		for(j=0;j<m-1;j++)
		{
			if(b[j]>b[j+1])
			{
				z=b[j];
				b[j]=b[j+1];
				b[j+1]=z;
			}
		}
	}
}
void hebing(int p)
{
	for(i=n;i<m+n;i++)
	{
		a[i]=b[i-n];
	}
}
void shuchu(int p)
{
	printf("%d",a[0]);
	for(i=1;i<m+n;i++)
	{
		printf(" %d",a[i]);
	}
}
main()
{
	shuru(0);
	paixu(0);
	hebing(0);
	shuchu(0);
}
void f1(int a[],int b[],int c,int d)
{
	int i,j,t;
	for(i=0;i<c;i++)
	{
		for(j=0;j<c-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<d;i++)
	{
		for(j=0;j<d-i-1;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<c;i++)
		printf(" %d",a[i]);
	for(i=0;i<d;i++)
		printf(" %d",b[i]);
}



void main()
{
	int a[15],b[15],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]);
	f1(a,b,c,d);
}
void get(int n,int* a)
{
	int i;
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
}
void order(int n,int*a)
{
	int i,j,t;
	for(i=n-1;i>0;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;
			}
		}
	}
}
void puttogether(int n,int*a,int m,int*b)
{
	int i;
	for(i=n;i<n+m;i++)
	{
		a[i]=b[i-n];
	}
	printf("%d",a[0]);
	for(i=1;i<n+m;i++)
	{
		printf(" %d",a[i]);
	}
}
int main()
{
	int a[500],b[500];
	int m,n;
	scanf("%d %d",&n,&m);
	get(n,a);
	get(m,b);
	order(n,a);
	order(m,b);
	puttogether(n,a,m,b);
	return 0;
}
void px(int a[100],int k)
{
	int i,j,b;
	for(i=0;i<k;i++)
	{
		for(j=0;j<k-i-1;j++)
		{
			if(a[j]>a[j+1])
			{
				b=a[j];
				a[j]=a[j+1];
				a[j+1]=b;
			}
		}
	}
	for(i=0;i<k-1;i++)
		printf("%d ",a[i]);
	printf("%d",a[k-1]);
}
void fz()
{
	int m,n,i,a[100],b[100];
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	px(a,n);
	printf(" ");
	for(i=0;i<m;i++)
		scanf("%d",&b[i]);
	px(b,m);
}	
int main()
{
	fz();
	return 0;
}
void f(int p, int n)
{
	int i, j;
	int a[100];
	for (i=0; i<n; i++) 
		scanf("%d", &a[i]);
	for (i=1; i<n; i++) {
		for (j=1; j<n-i+1; j++) {
			if (a[j]<a[j-1]) {
				a[j-1]=a[j]+a[j-1];
				a[j]=a[j-1]-a[j];
				a[j-1]=a[j-1]-a[j];
			}
		}
	}
	for (i=0; i<n-1; i++)
		printf("%d ", a[i]);
	printf("%d", a[n-1]);
	if(p>0)
		printf(" ");
}
int main ()
{
	int i, n1, n2;
	scanf("%d%d", &n1, &n2);
	f(1, n1);
	f(0, n2);
	return 0;
}
int a[100],b[100],n,m,c[1000];
void input(int a[],int b[])
{
	int i,j;
	scanf("%d%d",&n,&m);
	for(i=0;i<=n-1;i++)
	{
		scanf("%d",&a[i]);
	}
	for(j=0;j<=m-1;j++)
	{
		scanf("%d",&b[j]);
	}
}
void charge(int a[],int b[])
{
	int i,j,temp;
	for(i=0;i<=n-2;i++)
	{
		for(j=i+1;j<=n-1;j++)
		{
			if(a[j]<a[i])
			{
				temp=a[i];
				a[i]=a[j];
				a[j]=temp;
			}
		}
	}
	for(i=0;i<=m-2;i++)
	{
		for(j=i+1;j<=m-1;j++)
		{
			if(b[j]<b[i])
			{
				temp=b[i];
				b[i]=b[j];
				b[j]=temp;
			}
		}
	}
}
void hook(int a[],int b[])
{
	int i,j;
	for(i=n,j=0;i<=n+m-1;i++,j++)
	{
		a[i]=b[j];
	}
}
void print(int a[])
{
	int i;
	for(i=0;i<=m+n-2;i++)
	{
		printf("%d ",a[i]);
	}
	printf("%d\n",a[m+n-1]);
}
main()
{
	input(a,b);
	charge(a,b);
	hook(a,b);
	print(a);
	return 0;
}
int n1,n2,a1[50],a2[50];
void main()
{
	void sort(int b[],int n);
	void scn();
	void pr(int c[],int m);
	scn();
	sort(a1,n1);
	sort(a2,n2);
	pr(a1,n1);
	pr(a2,n2);
}
void sort(int b[],int n)
{
	int i,j,t;
	for(j=0;j<n-1;j++)
	for(i=0;i<n-1;i++)
	{
		if(b[i]>b[i+1])
		{
			t=b[i];
			b[i]=b[i+1];
			b[i+1]=t;
		}
	}
}
void scn()
{
	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 pr(int c[],int m)
{
	int i;
	for(i=0;i<m;i++)
	{
		if(i==m-1&&c[i]==a2[m-1])
		printf("%d",c[i]);
		else
			printf("%d ",c[i]);
	}
}
void duqu(int n,int m,int a[],int b[])
{
	int i;
    for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	for(i=0;i<m;i++)
		scanf("%d",&b[i]);
  
}
void sort(int a[],int n,int b[],int m)
{
	int i,j,t;
   
    for(j=0;j<n-1;j++)
	{
		
		for(i=0;i<n-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<m-1;j++)
	{
		
		for(i=0;i<m-1-j;i++)
		if(b[i]>b[i+1])
		{
			t=b[i];b[i]=b[i+1];b[i+1]=t;
		}
	}
    
}
void hebing(int array1[],int array2[],int n,int m)
{ 
	int i;
	for(i=n;i<(n+m);i++)
		array1[i]=array2[i-n];

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



void main()
{
    void duqu(int n,int m,int a[],int b[]);
	void sort(int *p1,int n,int *p2,int m);
	void hebing(int array1[],int array2[],int n,int m);
	void xian(int array[],int n,int m);
	int n,m,a[1000],b[1000];
	scanf("%d %d",&n,&m);
	duqu(n,m,a,b);
	sort(a,n,b,m);
    hebing(a,b,n,m);
	xian(a,n,m);
	
}
int a[300],b[300],c[600];
void myfunc()
{
	int la,lb,i;
	cin>>la>>lb;
	for(i=0;i<la;i++)
		cin>>a[i];
	for(i=0;i<lb;i++)
		cin>>b[i];
	sort(a,a+la);
	sort(b,b+lb);
	for(i=0;i<la;i++)
		c[i]=a[i];
	for(i=la;i<la+lb;i++)
		c[i]=b[i-la];
	for(i=0;i<la+lb-1;i++)
		cout<<c[i]<<' ';
         cout<<c[i];
}
int main()
{
    myfunc();
    return 0;
}
int a[1000],b[1000],la,lb;
int p;
int c[1000],lc;

void M1 (int m1)
{
     cin >>la>>lb;
     for (int i=1;i<=la;i++)
     cin >>a[i];
     for (int i=1;i<=lb;i++)
     cin >>b[i];
}

void M2(int m2)
{
     for (int i=1;i<=la;i++)
     {
         for (int j=1;j<=la-1;j++)
         {
             if (a[j]>a[j+1])
             {
                p=a[j];
                a[j]=a[j+1];
                a[j+1]=p;
             }
         }
     }
     for (int i=1;i<=lb;i++)
     {
         for (int j=1;j<=lb-1;j++)
         {
             if (b[j]>b[j+1])
             {
                p=b[j];
                b[j]=b[j+1];
                b[j+1]=p;
             }
         }
     }
}

void M3 (int m3)
{
     lc=la+lb;
     for (int i=1;i<=la;i++)
     c[i]=a[i];
     for (int i=1;i<=lb;i++)
     c[la+i]=b[i];
}

void M4 (int m4)
{
     for (int i=1;i<=lc;i++)
     {
         cout <<c[i];
         if (i==lc)
         break;
         cout <<" ";
     }
}
         
int main ()
{
    M1(1);M2(1);M3(1);M4(1);
    return 0;
}
int ary1[30], ary2[30];
int *pt1,*pt2;



void input(int array[],int num)
{
     int i;
     for(i=0; i<num; i++){
              cin >>array[i];
     }
}
void sort(int *ptr, int num)
{
     int i,j;       int temp;
     for(i=num-1; i>=0; i--){
             for(j=0; j<i; j++){
                      if(*(ptr+j)>*(ptr+j+1))
                      {     swap(*(ptr+j),*(ptr+j+1));  } 
             }
     }
}
void combine(int *ptr1, int *ptr2, int num1, int num2)
{
     int i;      
     ptr1+= num1;
     for(i=0; i< num2; i++){
              *(ptr1+i) = *(ptr2+i);
     }
}
void demo(int *pointer, int sum)
{
     int count=0;
     while(count != sum){
                 cout<< *pointer;
                 if(count++ !=sum-1)
                 {          cout << " ";     }
                 pointer++;
     }  
}


int main(int argc, char *argv[])
{
    pt1= &ary1[0];     pt2= &ary2[0];
    int m,n;
    cin >> m >> n;
    input(ary1,m);
    input(ary2,n);
    sort(ary1,m);
    sort(ary2,n);
    combine(pt1, pt2, m,n);
    demo(pt1, m+n);
    
   
    return EXIT_SUCCESS;
}
/*
 * ????????????????????????.cpp
 *
 *  Created on: 2012-11-29
 *      Author: ??
 *      a)  ???????????????????
b)  ???????????
c)  ??????????
d)  ?????????
 */
int n,m;
int a[100],b[100];
void shuru()
{
	int i;
	cin>>n>>m;
	for(i=1;i<=n;i++)
		cin>>a[i];
	for(i=1;i<=m;i++)
		cin>>b[i];
}//??

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

}//??

void shuchu()
{
	int i;
	for(i=1;i<=m+n-1;i++)
    cout<<a[i]<<' ';
	cout<<a[m+n]<<endl;
}//??
 int main()
 {
	 shuru();
	 paixu();
	 hebin();
	 shuchu();
	 return 0;
 }