semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
/*
?? - ????????????????????????   
 
?? 
???????????????????????? 
a)  ??????????????????? 
b)  ??????????? 
c)  ?????????? 
d)  ????????? 
?????????????????????????? 

 
???? 
???? 
??????? ??????????? 
???????? 
????????
 
???? 
?????????????????????????????????? 
????????????????????? 
??????????
 
???? 
4 5
2 3 4 1
3 4 5 1 2
 
???? 
1 2 3 4 1 2 3 4 5
 
?? 
??????????????? 
???????????????? 
*/

void main()
{
	void shuru(int *p,int len);
	void paixu(int *p,int len);
	void hebing(int *p1,int *p2);
	void shuchu(int *p,int,int);
	int m,n;
	scanf("%d%d",&m,&n);
	int *p1,*p2;
	int a[200]={'\0'},b[100]={'\0'};
	p1=a;
	p2=b;
	shuru(p1,m);
	shuru(p2,n);
	paixu(p1,m);
	paixu(p2,n);
	hebing(p1,p2);
	shuchu(p1,m,n);
}



void shuru(int *p,int len)
{	
	int i;
	for(i=0;i<len;i++)
		scanf("%d",p+i);
}

void paixu(int *p,int len)
{
	int i,j,temp;
	for(i=0;i<len-1;i++)
		for(j=i+1;j<len;j++)
			if(*(p+i)>*(p+j))
			{
				temp=*(p+i);
				*(p+i)=*(p+j);
				*(p+j)=temp;
			}
}

void hebing(int *p1,int *p2)
{
	int i,j,flag;
	for(i=0;;i++)
	{
		flag=0;
		if(*(p1+i)=='\0')
		{
			for(j=0;*(p2+j)!='\0';j++)
				*(p1+i+j)=*(p2+j);
			*(p1+i+j)='\0';
			flag=1;
		}
		if(flag==1)	break;
	}
}
		
void shuchu(int *p,int m,int n)
{
	int i;
	char c;
	for(i=0;*(p+i)!='\0';i++)
		printf("%d%c",*(p+i),c=(i<n+m-1)?' ':'\n');
}
int main()
{
	int x,y,i;
	int a[20],b[20];
	cin>>x>>y;
	for(i=0;i<x;i++)
	{cin>>a[i];}
	for(i=0;i<y;i++)
	{cin>>b[i];}//??????
	sort(a,a+x);//?a????
	sort(b,b+y);//?b????
	cout<<a[0];
	for(i=1;i<x;i++)
	{cout<<" "<<a[i];}
	for(i=0;i<y;i++)
	{cout<<" "<<b[i];}//???????
	return 0;
}
void order(int a[],int n)
{
	int i,j,temp;
	for(i=0;i<n-1;i++)
	{
		for(j=n-1;j>i;j--)
		{
			if(a[j]<a[j-1])
			{
				temp=a[j-1];
				a[j-1]=a[j];
				a[j]=temp;
			}
		}
	}
	for(i=0;i<n-1;i++)
		printf("%d ",a[i]);
	printf("%d",a[i]);
}
void main()
{
	int m,n,i;
	int a[50],b[50];
	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]);
	order(a,m);
	printf(" ");
	order(b,n);
	printf("\n");
}
/*
 * 115.cpp
 * ????????????????????????
 *  Created on: 2012-11-20
 *      Author: Salforever
 */



int x[10000],y[10000],z[100000];
int m,n,i,j,temp;
void dq()
{
	cin >> m >> n;													//??
	for (i=1;i<=m;i++)
		cin >> x[i];
	for (i=1;i<=n;i++)
		cin >> y[i];
}

void px()
{
	for (i=1;i<=m-1;i++)											//??
		for (j=m;j>=i+1;j--)
			if (x[j]<=x[j-1]) {temp=x[j];x[j]=x[j-1];x[j-1]=temp;}
	for (i=1;i<=n-1;i++)
		for (j=n;j>=i+1;j--)
			if (y[j]<=y[j-1]) {temp=y[j];y[j]=y[j-1];y[j-1]=temp;}
}

void hb()
{
	for (i=1;i<=m;i++)												//??
		z[i]=x[i];
	for (i=1;i<=n;i++)
		z[i+m]=y[i];
}

void xs()
{
	for (i=1;i<m+n;i++)												//??
		cout << z[i] << ' ';
	cout << z[m+n];
	cout << endl;
}

int main()
{
	dq();															//??
	px();															//??
	hb();															//??
	xs();															//??
	return 0;														//????
}
void f1(int a[],int x,int b[],int y)
{
	int m,n,i;

	scanf("%d %d",&m,&n);
	for(i=0;i<m;i++)
	{
		scanf("%d",&a[i]);
//		printf("a[%d]=%d ",i,a[i]);
	}
	for(i=m;i<x;i++)
		a[i]=-1;
	for(i=0;i<n;i++)
	{
		scanf("%d",&b[i]);
//		printf("b[%d]=%d ",i,b[i]);
	}
	for(i=n;i<y;i++)
		b[i]=-1;
}

void f2(int a[],int x,int b[],int y)
{
	int i,j,t,m,n;
	
	for(i=0,m=0;i<x;i++)
		if(a[i]>=0)
			m++;
	
	for(i=0,n=0;i<y;i++)
		if(b[i]>=0)
			n++;

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

void f3(int a[],int x,int b[],int y,int c[],int z)
{
	int i,m,n;

	for(i=0,m=0;i<x;i++)
		if(a[i]>=0)
			m++;
	for(i=0,n=0;i<y;i++)
		if(b[i]>=0)
			n++;

	for(i=0;i<m;i++)
		c[i]=a[i];
	for(i=0;i<n;i++)
		c[m+i]=b[i];
	for(i=n+m;i<z;i++)
		c[i]=-1;
}

void f4(int c[],int x)
{
	int i,e;

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

void main()
{
	int a[30],b[30],c[60];
	int i;

	f1(a,30,b,30);           /* m,n,a,b */
	
	f2(a,30,b,30);           /* a reconstr */
	
//	for(i=0;i<30;i++)
//		if(a[i]>=0)
//			printf("%d",a[i]);
//	for(i=0;i<30;i++)
//		if(b[i]>=0)
//			printf("%d",b[i]);

	f3(a,30,b,30,c,60);           /* b reconstr */
///	for(i=0;i<60;i++)
///		if(c[i]>=0)
///			printf("%d",c[i]);
	f4(c,60);
		

}
int a[10000],b[10000],c[20000],n,m;
int wrh1(int a[10000],int b[10000])
{
	cin >> n >> m;
	int i;
	for ( i = 0 ;i < n; i ++ )
		cin >> a[i];
	for ( i = 0; i < m; i ++ )
		cin >> b[i];
	return 0;
}

int wrh2( int a[10000],int b[10000])
{
	int i,j,temp;
	for ( i = 0; i < n - 1; i ++ )
	{
		for ( 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;
			}
		}
	}
	for ( i = 0; i < m - 1; i ++ )
	{
		for ( j = 0; j < m - i - 1; j ++ )
		{
			if ( b[j] > b[j+1] )
			{
				temp = b[j];
				b[j] = b[j+1];
				b[j+1] = temp;
			}
		}
	}
	return 0;
}

int wrh3( int a[10000], int b[10000] ,int c[20000])
{
	int i,j;
	for ( i = 0; i < n; i ++ )
		c[i] = a[i];
	for ( i = 0; i < m; i ++ )
		c[i + n] = b[i];
	return 0;
}

int wrh4(int c[20000])
{
	int i;
	cout << c[0];
	for ( i = 1; i < n + m; i ++ )
		cout << ' ' << c[i];
	return 0;
}

int main()
{
	wrh1(a,b);
	wrh2(a,b);
	wrh3(a,b,c);
	wrh4(c);
	return 0;
}
//???????????????

int num1,num2,array1[20],array2[20],array[40];

void input(int array1[],int array2[])
{
	int i,j;
	
	scanf("%d %d",&num1,&num2);

	for(i=0;i<=num1-1;i++)
		scanf("%d",&array1[i]);
	for(j=0;j<=num2-1;j++)
		scanf("%d",&array2[j]);
}

void sort(int array[],int n)
{
	int i,j,t;

	for(i=0;i<n-1;i++)
	{
		for(j=0;j<n-1-i;j++)
		{
			if(array[j]>array[j+1])//????
			{
				t=array[j];
				array[j]=array[j+1];
				array[j+1]=t;
			}
		}
	}
}

void link(int array1[],int array2[],int array[],int n1,int n2)
{
	int i;

	for(i=0;i<n1;i++)
	{
		array[i]=array1[i];
	}
	for(i=0;i<n2;i++)
	{
		array[i+n1]=array2[i];
	}
}

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

void main()
{
 	input(array1,array2);
	sort(array1,num1);
	sort(array2,num2);
	link(array1,array2,array,num1,num2);
	output(array,num1+num2);
}
void sort(int str[],int n)
{
	int i,j,k,t;
	for(i=0;i<n-1;i++)
	{
		k=i;
		for(j=i+1;j<n;j++)
			if(str[j]<str[k])
				k=j;
			t=str[k];
			str[k]=str[i];
			str[i]=t;
	}

}
void gather(int str1[],int str2[])
{
	int t=0,i;
	while(str1[t]!='\0')
		t++;
	for(i=t;str2[i-t]!='\0';i++)
		str1[i]=str2[i-t];
}

void main()
{
	int i,n1,n2,str1[100],str2[100];
	scanf("%d%d",&n1,&n2);
	for(i=0;i<n1;i++)
		scanf("%d",&str1[i]);
	scanf("\n");
	for(i=0;i<n2;i++)
		scanf("%d",&str2[i]);
	sort(str1,n1);
	sort(str2,n2);
	gather(str1,str2);
	for(i=0;i<(n1+n2-1);i++)
		printf("%d ",str1[i]);
	printf("%d",str1[n1+n2-1]);
	
}
void main()
{
	int m[2],i,j,k,a[2][100],p;
	scanf("%d %d",&m[0],&m[1]);
	for (k=0;k<2;k++)
	{
	for (i=0;i<m[k];i++)
	{
		scanf("%d",&a[k][i]);
	}
	}
	for(k=0;k<2;k++)
	{
		for (i=0;i<m[k];i++)
	 {
		for(j=0;j<m[k]-i-1;j++)
		{
			if(a[k][j]>a[k][j+1])
			{
				p=a[k][j];
				a[k][j]=a[k][j+1];
				a[k][j+1]=p;
			}
		}
	 }
	}
	for(k=0;k<2;k++)
	{
		for (i=0;i<m[k];i++)
		{
			if (!(k==0&&i==0))
			{
				printf(" ");
			}
			printf("%d",a[k][i]);
		}
	}
}
//============================================================================
// Name        : shj.cpp
// Author      : ???
// Time        : 2013.11.27
// Description : ????????????????????????
//============================================================================
int x[1000],y[1000],z[2000];
int i,j,n,m,ex;
void read(){
	cin>>n>>m;//????
	for(i=0;i<n;i++)
		cin>>x[i];//????????
	for(i=0;i<m;i++)
		cin>>y[i];//????????
}
void paixu(){//?????
	for(i=0;i<n;i++)//?????
		for(j=0;j<n-1;j++)
			if(x[j+1]<x[j]){
				ex=x[j];
				x[j]=x[j+1];
				x[j+1]=ex;
			}
	for(i=0;i<m;i++)//?????
			for(j=0;j<m-1;j++)
				if(y[j]>y[j+1]){
					ex=y[j];
					y[j]=y[j+1];
					y[j+1]=ex;
				}
}
void heping(){
	for(i=0;i<n;i++)
		z[i]=x[i];//??x[]????z[]
	for(i=0;i<m;i++)
		z[n+i]=y[i];//??y[]????z[]
}
void display(){
	for(i=0;i<n+m;i++){//????
		if(i==0)cout<<z[i];
		else cout<<" "<<z[i];
	}
}
int main() {
    read();//????
    paixu();
    heping();
    display();
	return 0;
}
int main()
{
  void pre(int *,int);
  void bubble_sort(int*,int);
  void merge(int*,int,int*,int,int*);
  void print(int*,int);
  int a[1000],b[1000],c[1000],A,B;
  scanf("%d %d",&A,&B);
  pre(a,A);bubble_sort(a,A);
  pre(b,B);bubble_sort(b,B);
  merge(a,A,b,B,c);
  print(c,A+B);
}
void pre(int*a,int A)
{
	int i;
	for(i=0;i<A;i++)
	scanf("%d",a+i);
}
void bubble_sort(int* a,int A)
{
	int i,j,temp;
	for(j=A-1;j>0;j--)
	{
		for(i=0;i<j;i++)
		if(a[i]>a[i+1])
		{
			temp=a[i];
			a[i]=a[i+1];
			a[i+1]=temp;
		}
	}
}
void merge(int* a,int A,int* b,int B,int* c)
{
	int i;
	for(i=0;i<A;i++)
	  c[i]=a[i];
	for(i=0;i<B;i++)
	  c[i+A]=b[i];
}
void print(int* c,int C)
{
	int i;
	printf("%d",c[0]);
	for(i=1;i<C;i++)
	printf(" %d",c[i]);
}
int a[100],b[100];
int m,n;

void insert(void)
{
	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 paixu(int *p1,int *p2)
{
	int i,j;
	int temp;
	for (j=1;j<m;j++)
		for (i=0;i<m-1;i++)
			if ((*(p1+i))>(*(p1+i+1)))
			{
				temp=*(p1+i);
				*(p1+i)=*(p1+i+1);
				*(p1+i+1)=temp;
			}
	for (j=1;j<n;j++)
		for (i=0;i<n-1;i++)
			if (*(p2+i)>*(p2+i+1))
			{
				temp=*(p2+i);
				*(p2+i)=*(p2+1+i);
				*(p2+i+1)=temp;
			}
}

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

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

void main()
{
	insert();
	paixu(a,b);
	hebing ();
    output();
}
int input(int[],int);
int sort(int[],int);
void combine(int[],int[],int,int);
void output(int[],int,int);
int main()
{
	int n1,n2;
	cin>>n1>>n2;
	int a[100],b[100];
	input(a,n1);
	input(b,n2);
	sort(a,n1);
	sort(b,n2);
	combine(a,b,n1,n2);
	return 0;
	
}
int input(int a[],int n)
{
	int i;
	for(i=0;i<n;i++)
	{
		cin>>a[i];
	}
	return a[i];
}
int sort(int a[],int n)
{
	int i,j,p;
	for(i=1;i<n;i++)
		for(j=0;j<n-i;j++)
		{
			if(a[j]>a[j+1])
			{
				p=a[j];
				a[j]=a[j+1];
				a[j+1]=p;
			}	
		}
	return a[j];
}
void combine(int a[],int b[],int n1,int n2)
{
	int c[200];
	int i;
	for(i=0;i<n1;i++)
		c[i]=a[i];
	for(i=n1;i<n2+n1;i++)
		c[i]=b[i-n1];
	output(c,n1,n2);
}
void output(int c[],int n1,int n2)
{
	int i;
	for(i=0;i<n1+n2-1;i++)
		cout<<c[i]<<" ";
	cout<<c[n1+n2-1]<<endl;
	
}
int a[1000],b[1000];
void ccin(int m,int n);
void turn(int c[1000],int t);
void ccout(int m,int n);
int main()
{
	int m,n;
	cin>>m>>n;
	ccin(m,n);
	turn(a,m);
	turn(b,n);
	ccout(m,n);
	return 0;
}
void ccin(int m,int n)
{
	int i;
	for(i=0;i<m;i++)
		cin>>a[i];
	for(i=0;i<n;i++)
		cin>>b[i];
}
void turn(int c[1000],int t)
{
	int i,j,k;
	for(i=0;i<t-1;i++)
		for(j=0;j<t-1;j++)
			if(c[j]>c[j+1])
			{
				k=c[j];
				c[j]=c[j+1];
				c[j+1]=k;
			}
}
void ccout(int m,int n)
{
	int i;
	for(i=0;i<m;i++)
		cout<<a[i]<<" ";
	for(i=0;i<n-1;i++)
		cout<<b[i]<<" ";
	cout<<b[n-1]<<endl;
}
int n,m,i,j,k,a[100],b[100];
int read()
{
  cin>>n>>m;
  for (i=1;i<=n;i++)
       cin>>a[i];
  for (i=1;i<=m;i++)
       cin>>b[i];
  return 0;
}
int sorta()
{ int min,t;
  for (i=1;i<=n-1;i++)
       { min=i;
        for (j=i+1;j<=n;j++)
             if (a[min]>a[j]) min=j;
        t=a[i];
        a[i]=a[min];
        a[min]=t;   
     }
     return 0;
}
int sortb()
{ int min,t;
  for (i=1;i<=m-1;i++)
       { min=i;
        for (j=i+1;j<=m;j++)
             if (b[min]>b[j]) min=j;
        t=b[i];
        b[i]=b[min];
        b[min]=t;   
     }
     return 0;
}
int write()
{ for (i=1;i<=n;i++)
       cout<<a[i]<<' ';
  for (i=1;i<m;i++)
       cout<<b[i]<<' ';
  cout <<b[m]<<endl;
   return 0;
     }
int main()
{ k=read();
  k=sorta();
  k=sortb();
  k=write();
  return 0; 
    }
int num1[1000]={0},num2[1000]={0},m,n;
void gets()
{
	int i,j;
	cin>>m>>n;
	for(i=0;i<m;i++)
		cin>>num1[i];
	for(j=0;j<n;j++)
		cin>>num2[j];
}
void paixu()
{
	int i,j,a=0,b=0;
	for(i=0;i<m-1;i++)
	{
		for(j=0;j<m-1-i;j++)
		{
			if(num1[j]>num1[j+1])
			{
				a=num1[j];
				num1[j]=num1[j+1];
				num1[j+1]=a;
			}
		}
	}
	for(i=0;i<n-1;i++)
	{
		for(j=0;j<n-1-i;j++)
		{
			if(num2[j]>num2[j+1])
			{
				a=num2[j];
				num2[j]=num2[j+1];
				num2[j+1]=a;
			}
		}
	}
}
void hebing()
{
	int i;
	for(i=0;i<n;i++)
		num1[m+i]=num2[i];
}
void shuchu()
{
	int i;
	cout<<num1[0];
	for(i=1;i<m+n;i++)
		cout<<" "<<num1[i];
}
int main()
{
	gets();
	paixu();
	hebing();
	shuchu();
		return 0;
}
void paixu()
{
	int a[100], b[100], sizea, sizeb, i, j, t;
	cin >> sizea >> sizeb;
	for (i = 1; i <= sizea; i++)
		cin >> a[i];
	for (i = 1; i <= sizeb; i++)
		cin >> b[i];
	for (i = sizea; i >= 1; i--)
	for (j = 1; j < i; j++)
	{
		if (a[j] > a[j + 1])
		{
			t = a[j];
			a[j] = a[j + 1];
			a[j + 1] = t;
		}
	}
	for (i = sizeb; i >= 1; i--)
	for (j = 1; j < i; j++)
	{
		if (b[j] > b[j + 1])
		{
			t = b[j];
			b[j] = b[j + 1];
			b[j + 1] = t;
		}
	}
	for (i = 1; i <= sizea; i++)
		cout << a[i] << " ";
	for (i = 1; i <= sizeb; i++)
	{
		cout << b[i];
		if (i < sizeb)
			cout << " ";
		else
			cout << endl;
	}
}
int main()
{
	paixu();
	return 0;
}
int n,m,a[1000],b[1000],c[2000];
void f1(void)
{
	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 f2(void)
{
	int i,j,p;
	for(i=1;i<n;i++)
	{
		for(j=0;j<n-i;j++)
		{
			if(a[j]>a[j+1])
			{
				p=a[j];
				a[j]=a[j+1];
				a[j+1]=p;
			}
		}
	}
	for(i=1;i<m;i++)
	{
		for(j=0;j<m-i;j++)
		{
			if(b[j]>b[j+1])
			{
				p=b[j];
				b[j]=b[j+1];
				b[j+1]=p;
			}
		}
	}
}
void f3(void)
{
	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 f4(void)
{
	int i,count=0;
	for(i=0;i<n+m;i++)
	{
		if(count==0)
		{
			printf("%d",c[i]);
			count++;
		}
		else
			printf(" %d",c[i]);
	}
	printf("\n");
}
int main()
{
	f1();
	f2();
	f3();
	f4();
	return 0;
}
int na,nb;
int a[10000],b[10000],c[10000];
void f1(){
    cin>>na>>nb;
    for( int i=0;i<=na-1;i++) cin>>a[i];
    for( int i=0;i<=nb-1;i++) cin>>b[i];
}
void f2(){
    sort(a,a+na);
    sort(b,b+nb);
}
void f3(){
    for( int i=0;i<=na-1;i++) c[i]=a[i];
    for( int i=na;i<=na+nb-1;i++) c[i]=b[i-na];
}
void f4(){
    cout<<c[0];
    for( int i=1;i<=na+nb-1;i++) cout<<' '<<c[i];
}
int main(){
    f1();f2();f3();f4();
    return 0;
}
void input(int m,int n,int a[300],int b[300])
{
	int i=0,j=0;
	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]);
		}
}
void row(int a[300])
{
	int i,j,t;
	for(i=0;i<300;i++)
	{
		for(j=i+1;j<300;j++)
		{
			if((a[j]<a[i])&&(a[j]!=0))
			{
				t=a[j];
				a[j]=a[i];
				a[i]=t;
			}
		}
	}
         }
void com(int a[300],int b[300])
{
	int i=0,j=0,k;
       	for(i=0;i<300;i++)	
         { 
           if(a[i]==0)
                {k=i;break;}
	
		
		
	}
	for(j=0;j<300;j++)
         {if(b[j]!=0)
	
		a[k]=b[j];k++;
		
	}
}
void output(int a[300])
{
	int i;
         for(i=0;i<300;i++)
         {
                if(a[i]!=0)
		{printf("%d",a[i]);
                                break;    }
          }
		
           i++;
          
        
	for(i;i<300;i++)
	{
                if(a[i]!=0)
		{printf(" %d",a[i]);}
		
	}
}

void main()
{
  int x,y,a[300]={0},b[300]={0};
  input(x,y,a,b);
  row(a);row(b);
  com(a,b);
  output(a);
}
void duqu(int a[],int b[],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 paixu(int a[],int b[],int M,int N)
{
	int i=0,j=0,temp;
	for (i=0;i<M;i++)
		for (j=i;j<M;j++)
		{
			if (a[j]<a[i])
			{
				temp=a[j];
				a[j]=a[i];
				a[i]=temp;
			}
		}
	for (i=0;i<N;i++)
		for (j=i;j<N;j++)
		{
			if (b[j]<b[i])
			{
				temp=b[j];
				b[j]=b[i];
				b[i]=temp;
			}
		}
}

void hebing(int a[],int b[],int c[],int M,int N)
{
	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 shuchu(int C[],int M,int N)
{
	int i;
	for (i=0;i<M+N-1;i++)
		printf("%d ",C[i]);
	printf("%d",C[M+N-1]);
}

	
int main()
{
	int m,n;
	int a1[100],a2[100],a3[100]={0};
	scanf("%d%d",&m,&n);
	duqu(a1,a2,m,n);
	paixu(a1,a2,m,n);
	hebing(a1,a2,a3,m,n);
	shuchu(a3,m,n);
	return 0;
}
void main()
{
	void sort(int array[],int n);
	int m,n,i;
	int a[100],b[100],c[200];
	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]);
	sort(a,m);
	sort(b,n);
	for(i=0;i<m+n;i++)
	{
		if(i<m)
			c[i]=a[i];
		else
			c[i]=b[i-m];
	}
	for(i=0;i<m+n;i++)
	{
		if(i<m+n-1)
			printf("%d ",c[i]);
		else
			printf("%d\n",c[i]);
	}
}

void sort(int array[],int n)
{
	int i,j,k,t;
	for(i=0;i<n-1;i++)
	{
		k=i;
		for(j=i+1;j<n;j++)
			if(array[j]<array[k])
				k=j;
			t=array[k];array[k]=array[i];array[i]=t;
	}
}
void main()
{  
	int i,j,m,n,a[200]={0},b[200]={0},tem,*p,*q;
	p=a;
	q=b;
	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]);


	for(i=0;i<m-1;i++)
		for(j=0;j<m-i-1;j++)
		{
			if(*(p+j)>*(p+j+1))
			{
				tem=*(p+j);
				*(p+j)=*(p+j+1);
				*(p+j+1)=tem;
			}
		}
	printf("%d",a[0]);
	for(i=1;i<m;i++)
		printf(" %d",a[i]);
	for(i=0;i<n-1;i++)
		for(j=0;j<n-i-1;j++)
		{
			if(*(q+j)>*(q+j+1))
			{
				tem=*(q+j);
				*(q+j)=*(q+j+1);
				*(q+j+1)=tem;
			}
		}
	for(i=0;i<n;i++)
		printf(" %d",b[i]);
}
int m, n;

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

void input(int *a, int *b)
{
    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 sort(int *a, int *b)
{
    qsort(a, n, sizeof(int), cmp);
    qsort(b, m, sizeof(int), cmp);
}

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

void output(int *c)
{
    int i;
    for (i = 0;i < m + n; i++) {
        printf("%d%s", c[i], i < m + n - 1 ? " " : "\n");
    }
}
int main()
{
    int a[10000] = {0};
    int b[10000] = {0};
    int c[10000] = {0};
    input(a, b);
    sort(a, b);
    merge(a, b, c);
    output(c);
    return 0;
}
int getin(int array[],int num);//???????
int sort(int array[],int num);//???????
int link(int array1[],int array2[],int num1,int num2);//???????
int main()
{
	int numa,numb,a[1000],b[1000];
	cin>>numa>>numb;
	getin(a,numa);
	getin(b,numb);
	sort(a,numa);
	sort(b,numb);
	link(a,b,numa,numb);
	return 0;
}
int getin(int array[],int num)
{
	for(int i=0;i<num;i++)
	{
		cin>>array[i];
	}
	return (array[num]);
}
int sort(int array[],int num)//????
{
	int temp;
	for(int i=0;i<num-1;i++)
	{
		for(int j=0;j<num-i-1;j++)
		{
			if(array[j]>array[j+1])
			{
				temp=array[j];
				array[j]=array[j+1];
				array[j+1]=temp;
			}
		}
	}
	return array[num];
}
int link(int array1[],int array2[],int num1,int num2)
{
	cout<<array1[0];
	for(int i=1;i<num1;i++)
		cout<<" "<<array1[i];
	for(int i=0;i<num2;i++)
		cout<<" "<<array2[i];
	return 0;
}
void main()
{
	int m,n;
	int a[100];
	int b[100];
	int c[200];
	void read(int a[],int b[],int m,int n);
	void paixu(int a[],int b[],int m,int n);
	void combine(int c[],int a[],int b[],int m,int n);
	void type(int c[],int m,int n);
	scanf("%d%d",&m,&n);
    read(a,b,m,n);
	paixu(a,b,m,n);
	combine(c,a,b,m,n);
	type(c,m,n);
	
}

void read(int a[],int b[],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 paixu(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;
			}
}


void combine(int c[],int a[],int b[],int m,int 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 type(int c[],int m,int n)
{
    int num,i;
	num=m+n;
	for(i=0;i<num;i++)
			  if(i<num-1)
			  printf("%d ",c[i]);
			  else
				  printf("%d\n",c[i]);
}
int a[100],b[100],n,m,i,j,t;
void shuru(int p,int q) 
{
	for(i=0;i<p;i++)	scanf("%d",&a[i]);
	for(i=0;i<q;i++)	scanf("%d",&b[i]);
} 
void shuchu(int p,int q)
{
	for(i=0;i<p;i++)	printf("%d ",a[i]);
	for(i=0;i<q-1;i++)	printf("%d ",b[i]);
	printf("%d",b[q-1]);
} 
void paixu(int p,int c[]) 
{
	for(i=0;i<p;i++)
	for(j=0;j<i;j++)
	if(c[i]<c[j])
	{
		t=c[i];
		c[i]=c[j];
		c[j]=t;
	} 
} 
main()
{
	scanf("%d %d",&n,&m);
	shuru(n,m);
	paixu(n,a);
	paixu(m,b);
	shuchu(n,m);

}
void main()
{
	int x,y,i,j,t;
	int a[100],b[100];
	scanf("%d%d",&x,&y);
	for(i=0;i<x;i++)
		scanf("%d",&a[i]);
	for(i=0;i<y;i++)
		scanf("%d",&b[i]);
	for(j=0;j<=x-1;j++)
		for(i=0;i<x-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<=y-1;j++)
		for(i=0;i<y-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<x;i++)
				printf("%d ",a[i]);
            for(i=0;i<y-1;i++)
			{	printf("%d ",b[i]);}
			printf("%d",b[y-1]);
}
int a[100],b[100];
int m,n;
int main()
{
	void getdata(void);
	void bubblesort(int a[],int b[]);
	void merge(void);
	void putdata(void);

	getdata();
	bubblesort(a,b);
	merge();
	putdata();

	return 0;
}

void getdata(void)
{
	int i;
	cin >> m >> n;
	for (i=0;i<m;i++)
	cin >> a[i] ;
	for (i=0;i<n;i++)
		cin >> b[i];
}

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

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

void putdata(void)
{
	int i;
	cout << a[0];
	for (i=1;i<m+n;i++)
		cout << " " << a[i];
}
void inputarray(int a[], int);
void place(int a[], int);
void combine(int a[], int b[], int, int);
void printarray(int a[], int);

int main(void)
{
	int array1[100], array2[100], m, n;
	scanf("%d%d",&m, &n);
	inputarray(array1, m);
	inputarray(array2, n);
	place(array1, m);
	place(array2, n);
	combine(array1, array2, m, n);
	printarray(array1, m + n);
	return 0;
} 

void inputarray(int array[], int n)
{
	for(int i = 0; i < n; i++)
	{
		scanf("%d", &array[i]);
	}
}

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

void place(int array[], int n)
{
	int mininum, temp;
	for(int i = 0; i < n - 1; i++)
	{
		mininum = i;
		for(int j = i + 1; j < n; j++)
		{
			mininum = array[j] < array[mininum]?  j : mininum;
		}
		temp = array[i]; 
		array[i] = array[mininum]; 
		array[mininum] = temp;
	}
}

void combine(int array1[], int array2[], int m, int n)
{
	for(int i = m; i < m + n; i++)
	{
		array1[i] = array2[i - m];
	} 
}
void paixu(int *a,int x)
{
    int i=x-1,t,j;
    while(i>=1)
    {
               for(j=0;j<i;j++)
               {
                  if(a[j]>a[j+1])
                  {
                                 t=a[j];
                                 a[j]=a[j+1];
                                 a[j+1]=t;
                                 }
                                 }
                                 i--;
                                 }
                                 }
void lianjie(int *a,int x,int *b,int y,int *c)         
{
     int i=0,j=0,t=1;
     while(i<x)
     {
                   c[i]=a[i];
                   i++;
                   }
     while(j<y)
     {
                   c[i]=b[j];
                   i++;
                   j++;
                   }
     printf("%d",c[0]);
     while(t<x+y)
     {
                 printf(" %d",c[t]);
                 t++;
                   }
                   }
main()
{
      int s,t,i;
      scanf("%d %d",&s,&t);
      int *a=(int*)malloc(s*sizeof(int));
      int *b=(int*)malloc(t*sizeof(int));
      int *c=(int*)malloc((s+t)*sizeof(int));
      for(i=0;i<s;i++)
      scanf("%d",&a[i]);
      for(i=0;i<t;i++)
      scanf("%d",&b[i]);
      paixu(a,s);
      paixu(b,t);
      lianjie(a,s,b,t,c);
      }