semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
void changeplace(int n,int a[])
{
	int i,j,x;
	for(i=0;i<n;i++)
	{
		for(j=0;j<n-i-1;j++)
		{
			if(a[j]>=a[j+1])
			{
				x=a[j];
				a[j]=a[j+1];
				a[j+1]=x;
			}
		}
		
	}
}
main()
{
	int n1,n2,k;
	scanf("%d%d",&n1,&n2);
	int *p=(int*)malloc(n1*sizeof(int));
	int *q=(int*)malloc(n2*sizeof(int));
	for(k=0;k<n1;k++)
	scanf("%d",&p[k]);
	for(k=0;k<n2;k++)
	scanf("%d",&q[k]);
	changeplace(n1,p);
	changeplace(n2,q);
	for(k=0;k<n1;k++)
	printf("%d ",p[k]);
	for(k=0;k<n2-1;k++)
	printf("%d ",q[k]);
	printf("%d",q[n2-1]);
	
	
}
/*void f()
{
	scanf("%d %d",&num1,num2);
	int i;
	for(i=0;i<num1;i++)
	{
		scanf("%d",&word1[i]);
	}
	printf("\n");
	for(i=0;i<num2;i++)
	{
		scanf("%d",&word2[i]);
	}
	printf("\n");
}
void g()
{
	f();
	int j,k,temp;
	for(j=1;j<=num1*num1;j++)
	{
		for(k=0;k<num1-1;k++)
		{
			if(num1[k]>=num1[k+1])
			{
				temp=num1[k];
				num1[k]=num1[k+1];
				num1[k+1]=temp;
			}
		}
	}
	for(j=1;j<=num2*num2;j++)
	{
		for(k=0;k<num2-1;k++)
		{
			if(num2[k]>=num2[k+1])
			{
				temp=num2[k];
				num2[k]=num2[k+1];
				num2[k+1]=temp;
			}
		}
	}
}
void A()
{
	f();
	g();
	int zjword[300],l;
	for(l=0;l<num1+num2;l++)
	{
		if(l<num1)
		{
			zjword[l]=word1[l];
		}else{
			zjword[l]=word2[l-num1];
		}
	}
}
void B()
{
	f();
	g();
	A();
	int m;
	for(m=0;m<num1+num2;m++)
	{
		if(m!=num1+num2-2)
		printf("%d ",zjword[m]);
		else printf("%d",zjword[m]);
	}
}*/
int main()
{
	int word1[100],word2[100];
    int num1,num2;
	scanf("%d %d",&num1,&num2);
	int i;
	for(i=0;i<num1;i++)
	{
		scanf("%d",&word1[i]);
	}
	printf("\n");
	for(i=0;i<num2;i++)
	{
		scanf("%d",&word2[i]);
	}
	printf("\n");
	int j,k,temp;
	for(j=1;j<=num1*num1;j++)
	{
		for(k=0;k<num1-1;k++)
		{
			if(word1[k]>=word1[k+1])
			{
				temp=word1[k];
				word1[k]=word1[k+1];
				word1[k+1]=temp;
			}
		}
	}
	for(j=1;j<=num2*num2;j++)
	{
		for(k=0;k<num2-1;k++)
		{
			if(word2[k]>=word2[k+1])
			{
				temp=word2[k];
				word2[k]=word2[k+1];
				word2[k+1]=temp;
			}
		}
	}
	int zjword[300],l;
	for(l=0;l<num1+num2;l++)
	{
		if(l<num1)
		{
			zjword[l]=word1[l];
		}else{
			zjword[l]=word2[l-num1];
		}
	}
	int m;
	for(m=0;m<num1+num2;m++)
	{
		if(m!=num1+num2-1)
		printf("%d ",zjword[m]);
		else printf("%d",zjword[m]);
	}
	return 0;
}
void pai(int a[],int m);
void shuru(int a[10],int b[10],int m,int n);
void main(){
	int a[10],b[10];
	int m,n;
    scanf("%d%d",&m,&n);	
	shuru(a,b,m,n);
}
    
void shuru(int a[10],int b[10],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]);
	printf("\n");
	pai(a,m);
	pai(b,n);
	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 pai(int a[],int m){
	int i,j,t;
	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;
			}
}
void main()
{
	void abc(int c[],int p);
	int m,n,i,j;
	int a[100],b[100];
	scanf("%d",&m);
	scanf("%d",&n);
	for(i=0;i<m;i++)
	scanf("%d",&a[i]);
	for(j=0;j<n;j++)
	scanf("%d",&b[j]);
	abc(a,m);
	printf(" ");
	
	abc(b,n);
    
}
void abc(int c[],int p)
{
	int i,j,temp;
	for(i=0;i<p-1;i++)
	{
	for(j=0;j<p-1-i;j++)
	{
		if(c[j]>c[j+1])
		{
			temp=c[j];
		    c[j]=c[j+1];
		    c[j+1]=temp;
		}
	}
	}
	for(i=0;i<p-1;i++)
	printf("%d ",c[i]);
	printf("%d",c[i]);
	
}
void order(int a[100],int l1);
void prin(int a[100],int l1,int b[100],int l2)
{
	int i;
	char c='\0';
	order(a,l1);
	order(b,l2);
	for(i=0;i<l1;i++)
		printf("%d ",a[i]);
	for(i=0;i<l2;i++)
	{
		if(i<l2-1)
			c=' ';
		else c='\n';
		printf("%d%c",b[i],c);
	}
}
void order(int a[100],int l1)
{
	int i,j,b;
	for(i=0;i<l1;i++)
	{
		for(j=i;j<l1;j++)
		{
			if(a[j]<a[i])
			{
				b=a[i];
				a[i]=a[j];
				a[j]=b;
			}
		}
	}
}
int main()
{
	int l1,l2,i;
	int a[100],b[100];
	scanf("%d%d",&l1,&l2);
	for(i=0;i<l1;i++)
		scanf("%d",&a[i]);
	for(i=0;i<l2;i++)
		scanf("%d",&b[i]);
	prin(a,l1,b,l2);
	return 0;
}
/*
 * 1.cpp
 *
 *  Created on: 2012-11-19
 *      Author: ???
 *      Function??????????????????????
 *
 */

int temp, m, n;
int a[100], b[100];

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

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

}

void printf() {//??
	for (int i = 0; i < m; i++) {
		if (i)
			cout << " " << a[i];
		else
			cout << a[i];
	}
		for (int i = 0; i < n; i++)
			cout << " " << b[i];
	}
	int main() {

		scanf();
		bubblesorta();
		bubblesortb();
		printf();
		return 0;
	}
int main()
{
	int a[100],b[100];
	int m,n,j,k;
	void f(int a[],int m);
	scanf("%d%d",&m,&n);
	for(j=0;j<m;j++)
	{
		scanf("%d",&a[j]);
	}
	for(k=0;k<n;k++)
	{
		scanf("%d",&b[k]);
	}
	f(a,m);
	printf(" ");
	f(b,n);
	return 0;
}
void f(int a[],int m)
{
	int i,l,s;
	for(i=1;i<m;i++)
	{
		for(l=0;l<m-i;l++)
		{
		   	if(a[l]>a[l+1])
			{s=a[l]; a[l]=a[l+1]; a[l+1]=s;}
	     } 
	}
     
      printf("%d",a[0]);
	  for(l=1;l<m;l++)
	  {
		  printf(" %d",a[l]);
	  }
}
int n,m;
int main()
{
    void shuru(int x[],int y[]);
    void paixu(int x[],int y[]);
    void hebin(int x[],int y[]);
    void shuchu(int x[]);
    int a[200],b[100];
    shuru(a,b);paixu(a,b);hebin(a,b);shuchu(a);
    return 0;
}
void shuru(int x[],int y[])     //?????? 
{
     int i;
     cin>>n>>m;
     for(i=0;i<n;i++)cin>>x[i];
     for(i=0;i<m;i++)cin>>y[i];    
}
void paixu(int x[],int y[])    //?? 
{
     int i,j,temp;
     for(i=0;i<n-1;i++)
        for(j=i+1;j<n;j++)
        if(x[i]>x[j]){temp=x[i];x[i]=x[j];x[j]=temp;}
     for(i=0;i<m-1;i++)
        for(j=i+1;j<m;j++)
        if(y[i]>y[j]){temp=y[i];y[i]=y[j];y[j]=temp;}
}
void hebin(int x[],int y[])    //?? 
{
     int i,j;
     for(i=n,j=0;i<n+m;i++,j++)
       x[i]=y[j];
}
void shuchu(int x[])           //?? 
{
     for(int i=0;i<n+m-1;i++)
     cout<<x[i]<<' ';
     cout<<x[n+m-1];
     
}
int m=0,n=0;                            //??????m,n,???????????,??int?????????,???????????

void Get_In ( int a[10000], int b[10000])                     //????????,?????????????
{
	int i=0,j=0;
	for (i=0;i<m;i++)
		cin>>a[i];
	for (j=0;j<n;j++)
		cin>>b[j];
}

void Ranking ( int a[10000] , int l )
{
	int i=0,j=0,temp=0;
	for (i=0;i<(l-1);i++)
	{
		for (j=(i+1);j<l;j++)
		{
			if (a[i]>a[j])
			{
				temp=a[i];
				a[i]=a[j];
				a[j]=temp;
			}
		}
	}
}

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

void Turn_Out (int a[10000])
{
	int i=0;
	for (i=0;i<(m+n);i++)
	{
		if (i<(m+n-1))
			cout<<a[i]<<" ";
		else if (i==(m+n-1))
			cout<<a[i]<<endl;
	}
}

int main()
{
	int a[10000],b[10000];
	cin>>m>>n;
	Get_In(a,b);
	Ranking(a,m);
	Ranking(b,n);
	Combine(a,b);
	Turn_Out(a);
	return 0;
}
int A,B;
int a[250],b[250],c[501];
void input()
{scanf("%d",&A);
 scanf("%d",&B);
 for(int i=0;i<A;i++){
         scanf("%d",&a[i]);}
 for(int j=0;j<B;j++){
         scanf("%d",&b[j]);}
         
         
 } 
 void paixu()
 {
      for(int j=A-1;j>0;j--)
      {
      for(int r=0;r<j;r++)
        {if(a[r]>a[r+1])
        {int tmp;
         tmp=a[r+1];
         a[r+1]=a[r];
         a[r]=tmp;
        }
        }
                           
        }
         for(int j=B-1;j>0;j--)
      {
      for(int r=0;r<j;r++)
        {if(b[r]>b[r+1])
        {int tmp;
         tmp=b[r+1];
         b[r+1]=b[r];
         b[r]=tmp;
        }
        }
                           
        }
        }
        
 void hebing()
 {
      for (int i=0;i<A;i++)
      {c[i]=a[i];}
      for (int i=A;i<A+B;i++)
      {c[i]=b[i-A];}
      }
      
void show()
{
     for(int j=0;j<A+B;j++)
     {printf("%d",c[j]);
      if(j<A+B-1)
      {printf(" ");}}
     }
     
     
main()
{/*void input();*/
scanf("%d",&A);
 scanf("%d",&B);
 for(int i=0;i<A;i++){
         scanf("%d",&a[i]);}
 for(int j=0;j<B;j++){
         scanf("%d",&b[j]);}
 /*void paixu();*/
 for(int j=A-1;j>0;j--)
      {
      for(int r=0;r<j;r++)
        {if(a[r]>a[r+1])
        {int tmp;
         tmp=a[r+1];
         a[r+1]=a[r];
         a[r]=tmp;
        }
        }
                           
        }
         for(int j=B-1;j>0;j--)
      {
      for(int r=0;r<j;r++)
        {if(b[r]>b[r+1])
        {int tmp;
         tmp=b[r+1];
         b[r+1]=b[r];
         b[r]=tmp;
        }
        }
                           
        }
 /*void hebing();*/
 for (int i=0;i<A;i++)
      {c[i]=a[i];}
      for (int i=A;i<A+B;i++)
      {c[i]=b[i-A];}
 /*void show(); */    
  for(int j=0;j<A+B;j++)
     {printf("%d",c[j]);
      if(j<A+B-1)
      {printf(" ");}}   
      
      }
int a[1000],b[1000],c[2000];
int m,n;
int i,j,t;
void read()
{  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 sort()
{
	for(i=0;i<m;i++)
	   {for(j=i+1;j<m;j++)
	{   if(a[j]<a[i])   {t=a[i];a[i]=a[j];a[j]=t;}}}
for(i=0;i<n;i++)
	   {for(j=i+1;j<n;j++)
	{   if(b[j]<b[i])   {t=b[i];b[i]=b[j];b[j]=t;}}}
}
void cat()
{
	for(i=0;i<m;i++)
		c[i]=a[i];
	for(i=m;i<m+n;i++)
		c[i]=b[i-m];
}
void print()
{for(i=0;i<m+n-1;i++)
printf("%d ",c[i]);
printf("%d",c[m+n-1]);
}

int main()
{
    read();
	sort();
	cat();
	print();

	
}
void input(int *n1,int data1[],int *n2,int data2[])
{
     cin>>*n1>>*n2;
     for (int i=0;i<*n1;++i)
         cin>>data1[i];
     for (int i=0;i<*n2;++i)
         cin>>data2[i];
     return;
     }
void bubblesort(int n,int data[])
{
     for (int i=n-1;i>0;--i)
         for (int j=0;j<i;++j)
             if (data[j]>data[j+1])
             {
                int temp=data[j];
                data[j]=data[j+1];
                data[j+1]=temp;                      
                }
     return;
     }
int combine(int n1,int data1[],int n2,int data2[],int data3[])
{
     for (int i=0;i<n1;++i)
         data3[i]=data1[i];
     for (int i=n1;i<n1+n2;++i)
         data3[i]=data2[i-n1];
     return n1+n2;
     }
void print(int n,int data[])
{
     cout<<data[0];
     for (int i=1;i<n;++i)
         cout<<' '<<data[i];
     cout<<endl;
     return;
     }
int main()
{
    int n1,n2,a1[101],a2[101],a3[201];
    input(&n1,a1,&n2,a2);
    bubblesort(n1,a1);
    bubblesort(n2,a2);
//    print(n1,a1);
//    print(n2,a2);
    int n3=combine(n1,a1,n2,a2,a3);
    print(n3,a3);
    return 0;
    }
void input(int m,int a[100])//?? 
{
     int i;
     for(i=0;i<m;i++)
     cin>>a[i];
}
void arrange(int m,int a[100])//?? 
{
     int i,j,c;
     for(i=1;i<m;i++)
       for(j=0;j<m-i;j++)
       {
         if(a[j]>a[j+1])
         {
           c=a[j];
           a[j]=a[j+1];
           a[j+1]=c;
         }
       }
}
void  puttogether(int a,int b,int m[2][100])//?? 
{
      int i;
      for(i=0;i<b;i++)
      m[0][a+i]=m[1][i];
}
void output(int a,int m[100])//?? 
{
     int i;
     cout<<m[0];
     for(i=1;i<a;i++)
     cout<<" "<<m[i];
}
int main()
{
    int a,b;
    cin>>a>>b;
    int number[2][100];
    input(a,number[0]);
    input(b,number[1]);
    arrange(a,number[0]);
    arrange(b,number[1]);
    puttogether(a,b,number);
    output(a+b,number[0]);
    cin>>a;
    return 0;
}
int m,n,a[20],b[20];
void len()
{
	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 change(int x,int z[20])
{
	int i,j,middle;
	for(i=0;i<x-1;i++)
	{
		for(j=0;j<x-1;j++)
		{
			if(z[j]>z[j+1])
			{
			middle=z[j];
			z[j]=z[j+1];
			z[j+1]=middle;
			}
		}
	}
}	
void prin()
{
	int i;
    for(i=0;i<m;i++)
	printf("%d ",a[i]);
	for(i=m;i<m+n-1;i++)
		printf("%d ",b[i-m]);
	if(i=m+n-1)
	printf("%d",b[n-1]);
}
void main()
{ len();

	change(m,a);
	change(n,b);
	 prin();
	
}
void main()
{
	int i,j;
	int m,n;
	int temp;
	int a[1000];
	int b[1000];
	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(j=0;j<m-1;j++){
		for(i=0;i<m-1-j;i++){
			if(a[i]>a[i+1])
			{
				temp=a[i];
				a[i]=a[i+1];
				a[i+1]=temp;
			}
		}
	}
	for(j=0;j<n-1;j++){
		for(i=0;i<n-1-j;i++){
			if(b[i]>b[i+1])
			{
				temp=b[i];
				b[i]=b[i+1];
				b[i+1]=temp;
			}
		}
	}

	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=0,b=0,c=0,d=0,n=0,k=0,i=0;

	struct man
	{
		int number;
		char name[10];
	}m[100],p[100],s;
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%s %d",m[i].name,&m[i].number);
	for(i=0;i<n;i++)
		if(m[i].number>=60)
		{
			p[k]=m[i];
			k++;
		}
    for(a=k-1;a>0;a--)
	{
		for(b=0;b<a;b++)
			if(p[b].number<p[b+1].number)
			{	s=p[b+1];
			   p[b+1]=p[b];
			   p[b]=s;}
	}
	for(i=0;i<n;i++)
		if(m[i].number<60)
		{
			p[k]=m[i];
			k++;
		}
	for(i=0;i<k;i++)
		printf("%s\n",p[i].name);
}
int main(){
	int sz[100],aged[100];
	char num[100][11],anum[100][11],q[100][11];
	int n,i,k,j=0,s,p,e=0;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%s",num[i]);
		scanf("%d",&sz[i]);
	}for(i=0;i<n;i++){
			if(sz[i]>=60){
				aged[j]=sz[i];
				strcpy(anum[j],num[i]);
				j++;
			}
	}for(s=1;s<j;s++){
	for(k=0;k<j-s;k++){
			if(aged[k]<aged[k+1]){
                e=aged[k+1];
				aged[k+1]=aged[k];
				aged[k]=e;
				strcpy(q[k],anum[k+1]);
				strcpy(anum[k+1],anum[k]);
				strcpy(anum[k],q[k]);
			}
		}
	}for(p=0;p<j;p++){
				printf("%s\n",anum[p]);
			}for(i=0;i<n;i++){
				if(sz[i]<60){
					printf("%s\n",num[i]);
				}
			}return 0;
		}
int old=0;

struct seqs//????
{
	char id[11];
	int age;
	struct seqs *next;
};


struct seqs *build(int l)//?????????l
{
	int i;
    struct seqs *head,*newnode,*p;
	head=(struct seqs *)malloc(len);//???????
    scanf("%s %d",head->id,&head->age);//????????
	p=head;//???p??????
	if(head->age>=60)
		old++;
    for(i=1;i<l;i++)//???????????????????
	{
        newnode=(struct seqs *)malloc(len);//?????
        scanf("%s %d",newnode->id,&newnode->age);//??????
		if(newnode->age<60)
		{
		    p->next=newnode;//??????????
		    p=newnode;//???p??????
		}
		else
		{
			old++;
			newnode->next=head;
			head=newnode;
		}
	}
	p->next=NULL;//????????
	return head;
}

struct seqs *rebuild(struct seqs *headx)//????
{
	int i;
    struct seqs *head,*newnode,*p,*px;

	newnode=(struct seqs *)malloc(len);  newnode->next=NULL;//????????	
    strcpy(newnode->id,headx->id);
	newnode->age=headx->age;//????????????
	p=newnode;//???p?????????
    px=headx->next;
    for(i=1;i<old;i++)//???????????????????
	{
        newnode=(struct seqs *)malloc(len);//?????
		strcpy(newnode->id,px->id);
		newnode->age=px->age;
		newnode->next=p;//??????????
		p=newnode;//???p??????
		px=px->next;
	}
	head=p;//??head
	return head;
}
void bubble(struct seqs *head,int l)
{
	struct seqs *p; 
	int i,j,temp;
	char t[11]={0}; 
	for(i=1;i<l;i++)
		for(p=head,j=0;j<l-i;j++,p=p->next)
			if(p->age < p->next->age)
	 		{
                strcpy(t,p->id);
				strcpy(p->id,p->next->id);
                strcpy(p->next->id,t);
                temp=p->age;
     			p->age=p->next->age;
				p->next->age=temp;
 			}
}
void main()
{
    int n,i,j;
	struct seqs *p,*px;
	scanf("%d",&n);
	p=build(n);
	px=rebuild(p);
	bubble(px,old);
    while(px!=NULL)//????
	{
		printf("%s\n",px->id);
		px=px->next;
	}	
	for(i=0;i<old;i++)
	    p=p->next;
    while(p!=NULL)//????
	{
		printf("%s\n",p->id);
		p=p->next;
	} 
	
	
}
int main(int argc, char* argv[])
{
	char id[100][100];
	int age[100];
	int n;
	int i,k;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%s",id[i]);
		scanf("%d",&age[i]);
	}


    int e;
    char t[13];

     
	 char id1[100][13];
	 int age1[100];
	 char id2[100][13];
	 int age2[100];
	 int x=0,y=0;

		for(i=0;i<n;i++){
		if(age[i]>=60){
			age1[x]=age[i];
			strcpy(id1[x],id[i]);
			x++;
		}
	
		if(age[i]<60){
			age2[y]=age[i];
			strcpy(id2[y],id[i]);
			y++;
		}
	}
	
     for(k=1;k<x;k++){
      for(i=0;i<x-k;i++){
		if(age1[i]<age1[i+1]){
			e=age1[i+1];
			age1[i+1]=age1[i];
			age1[i]=e;
              
			strcpy(t,id1[i+1]);
			strcpy(id1[i+1],id1[i]);
			strcpy(id1[i],t);

		}
	}
}

   for(i=0;i<x;i++){
		printf("%s\n",id1[i]);
	 
	}

   

 for(i=0;i<y;i++){
		printf("%s\n",id2[i]);
	 
	}


	return 0;
}
int main()
{
  int n,i,a[150],tmp,j;
  char s[150][20],ts[20];
  scanf("%d",&n);
  for (i=1;i<=n;i++)
  {
    scanf("%s",s[i]);
    scanf("%d",&a[i]);
  }
  for (i=1;i<n;i++)
    for (j=1;j<=n-i;j++)
      if (((a[j+1]>=60)&&(a[j]<60))
         ||((a[j+1]>a[j])&&(a[j]>=60)))
       {
          memcpy(ts,s[j],sizeof(ts));
          memcpy(s[j],s[j+1],sizeof(ts));
          memcpy(s[j+1],ts,sizeof(ts));
          tmp=a[j];
          a[j]=a[j+1];
          a[j+1]=tmp;
       }
  for (i=1;i<=n;i++)
    printf("%s\n",s[i]);
}
void main()
{
	int n;
	scanf("%d\n",&n);
	struct patient
	{
		char num[10];
		int age;
	}pa[100],pao[100],pay[100],blank;
	int i,j=0,k=0;
	for(i=0;i<n;i++)
	{
		scanf("%s",pa[i].num);
		scanf("%d",&pa[i].age);
		if(pa[i].age>=60)
			pao[j++]=pa[i];
		else
			pay[k++]=pa[i];
	}
	int t;
	for(i=0;i<j;i++)
	{
		for(t=i+1;t<j;t++)
		{
			if(pao[t].age>pao[i].age)
			{
				blank=pao[i];
				pao[i]=pao[t];
				pao[t]=blank;
			}
		
		}
	}
	for(i=0;i<j;i++)
	{
		if(pao[i].age!=pao[i-1].age)
		{
			for(t=0;t<n;t++)
				if(pa[t].age==pao[i].age)
					printf("%s\n",pa[t].num);
		}
	}
	for(i=0;i<k;i++)
		printf("%s\n",pay[i].num);
}
int main(){
    int i,j=0,k,m,n,e,x,s[100],t[100],v=0;
    char zfc[100][10],jg[100][10],h[100][10];
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%s",zfc[i]);
        scanf("%d",&s[i]);
    }
    for(i=0;i<n;i++){
       if(s[i]>=60){
          t[j]=i;
          j++;
       }
    }
    for(i=j;i>=0;i--){
        for(k=0;k<i-1;k++){
           if(s[t[k]]<s[t[k+1]]){
             m=t[k+1];
             t[k+1]=t[k];
             t[k]=m;
            }
         }
    }
    for(i=0;i<j;i++){
      puts(zfc[t[i]]);
    }
    for(i=0;i<n;i++){
      if(s[i]<60){
         puts(zfc[i]);
      }
    }
    return 0;
}
int n;
struct student 
{
	int a;
	struct student *next;
	char num[20];
};

struct student *creat()
{
	struct student *head,*headtwo,*p1,*p2,*p3,*p4;
	p1=(struct student *)malloc(sizeof(struct student));
	scanf("%s",p1->num);
	scanf("%d",&p1->a);
	head=(struct student *)malloc(sizeof(struct student));
	head->next=p1;
	p2=head;
	p1->next=NULL;
	headtwo=(struct student *)malloc(sizeof(struct student));p4=headtwo;p4->next=NULL;
	int i,t=0;
	for (i=0;i<n-1;i++)
	{
		t=0;
		p3=(struct student *)malloc(sizeof(struct student));
		scanf("%s",p3->num);
	    scanf("%d",&p3->a);
		if(p3->a>=60)
		{
			p2=head;
			p1=head->next;
			while(p1!=NULL)
			{
				if(p3->a>p1->a)
				{
					p3->next=p1;p2->next=p3;t=1;break;
				}
				p2=p1;
				p1=p1->next;
			}
			if(t==0) {p2->next=p3;p3->next=NULL;}
		}
		if(p3->a<60)
		{
			p4->next=p3;
			p4=p3;
			p4->next=NULL;
		}
	}
	p1=head;
	while(p1->next!=NULL)
	{
		p1=p1->next;
	}
	p1->next=headtwo->next;
	return head;
}
void main()
{
	scanf("%d",&n);
	struct student *head,*p;
	head=creat();
	p=head->next;
	while (p!=NULL)
	{
		printf("%s\n",p->num);
		p=p->next;
	}
}
struct xinxi
{
	char  id[10];
	int age;
};

struct xinxi old[100];
void main()
{
	int i,n,j;
    int maxage=0;
	scanf("%d",&n);
   
	for(i=0;i<n;i++)   /*???????id???????????????????'\0'????????????????????????????????id,????????????'\0'????????????*/
	{
	scanf("%s %d",old[i].id,&old[i].age);
	
	}
    
	for(i=0;i<n;i++)
		if(maxage<old[i].age)maxage=old[i].age;
	
   
	for(j=maxage;j>=60;j--)
        for(i=0;i<n;i++)
            if(old[i].age==j)puts(old[i].id);
	for(i=0;i<n;i++)
		if(old[i].age<60)puts(old[i].id);
}
int main(){
	int n,i,j;
	char id[NUM][LEN];
	int nl[NUM];
	char id_old[NUM][LEN],id_young[NUM][LEN];
	int nl_old[NUM];
	int a=0,b=0;
	scanf("%d",&n);
	char ids[LEN];
	for(i=0;i<n;i++){
		scanf("%s %d",&id[i],&nl[i]);
		if(nl[i]>=60){
			strcpy(id_old[a],id[i]);
			nl_old[a]=nl[i];
			a++;
		}
		else{
			strcpy(id_young[b],id[i]);
			b++;
		}
	}
	int e;
	for(i=1;i<=a;i++){
		for(j=0;j<a-i;j++){
			if(nl_old[j]<nl_old[j+1]){
				e=nl_old[j+1];
				nl_old[j+1]=nl_old[j];
				nl_old[j]=e;
				strcpy(ids,id_old[j+1]);
				strcpy(id_old[j+1],id_old[j]);
				strcpy(id_old[j],ids);
			}
		}
	}
	for(i=0;i<a;i++){
		printf("%s\n",id_old[i]);
	}
	for(i=0;i<b;i++){
		printf("%s\n",id_young[i]);
	}
	return 0;
}
int main()
{
	int n,i,s=0,j=0,k=0;
	struct patient{
		int age;
		char id[10];
	}patient[100],old[100],young[100],temp;
	cin>>n;
	for(i=0;i<n;i++)
	{
		cin>>patient[i].id>>patient[i].age;
		if(patient[i].age>=60)
		{
			old[k]=patient[i];
			k++;
		}
		else
		{
			young[s]=patient[i];
			s++;
		}
	}
	for(i=k-1;i>0;i--)
	{
		for(j=0;j<i;j++)
		{
			if(old[j].age<old[j+1].age)
			{
				temp=old[j];
				old[j]=old[j+1];
				old[j+1]=temp;
			}
		}		
	}
	for(i=0;i<k;i++)
		cout<<old[i].id<<endl;
	for(i=0;i<s;i++)
		cout<<young[i].id<<endl;
	return 0;
}
struct patient
{
	char id[20];
	int age;
};
int main()
{
	int i,n,j,max,num=0;
	struct patient a[110],t;
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%s%d",a[i].id,&a[i].age);
	for(i=0;i<n;i++)
	{
		if(a[i].age>=60)
			num++;
	}
	for(i=0;i<num;i++)
	{
		max=i;
		for(j=i;j<n;j++)
		{
			if(a[j].age>a[max].age)
			{
				max=j;
			}
		}
		t=a[max];
		for(j=max;j>i;j--)
			a[j]=a[j-1];
		a[i]=t;
	}
	for(i=0;i<n;i++)
		printf("%s\n",a[i].id);
	return 0;
}
int n;
struct student 
{
	int a;
	char num[20];
		struct student *next;
};

struct student *creat()
{
	struct student *head,*headtwo,*p1,*p2,*p3,*p4;
	p1=(struct student *)malloc(len);
	scanf("%s%d",p1->num,&p1->a);
	head=(struct student *)malloc(len);
	head->next=p1;
	p2=head;
	p1->next=NULL;
	headtwo=(struct student *)malloc(len);
	p4=headtwo;
	p4->next=NULL;
	int i,t=0;
	for (i=0;i<n-1;i++)
	{
		t=0;
		p3=(struct student *)malloc(len);
		scanf("%s%d",p3->num,&p3->a);
		if(p3->a>=60)
		{
			p2=head;
			p1=head->next;
			while(p1!=NULL)
			{
				if(p3->a>p1->a)
				{
					p3->next=p1;
					p2->next=p3;
					t=1;
					break;
				}
				p2=p1;
				p1=p1->next;
			}
			if(t==0) {p2->next=p3;p3->next=NULL;}
		}
		if(p3->a<60)
		{
			p4->next=p3;
			p4=p3;
			p4->next=NULL;
		}
	}
	p1=head;
	while(p1->next!=NULL)
	{
		p1=p1->next;
	}
	p1->next=headtwo->next;
	return head;
}
void main()
{
	scanf("%d",&n);
	struct student *head,*p;
	head=creat();
	p=head->next;
	while (p!=NULL)
	{
		printf("%s\n",p->num);
		p=p->next;
	}
}
main()
{
      int n,k,j,i,age,m,y;
      int b[1000];
      char B[1000][100],C[1000][100],d[1000][100];
      char a[1000];
      scanf("%d",&n);
      y=0;
      k=0;
      for(i=0;i<=n-1;i++)
    {
      scanf("%s %d",a,&age);
      if(age<60)
     {
          strcpy(B[y],a);
          y++;           
     } 
      else
     {
          strcpy(C[k],a);
          b[k]=age;
          k++;
         
     }
    }
    int x=0;
    for(i=200;i>=60;i--)
    {
                        for(j=0;j<=k-1;j++)
                        {
                                           if(i==b[j])
                                           {
                                                   strcpy(d[x],C[j]);
                                                   x++;
                                           }
                        }
                        
    }
    
    
    for(i=0;i<=k-1;i++)  
    puts(d[i]);
    for(i=0;i<=n-k-1;i++)
    puts(B[i]);

 
    getchar(); getchar(); 
      
      
      
      
      
}
void main()
{
	struct people
	{
		char num[10];
		int age;
	}peo[100],pai[100],temp;

	int i,n;
	int j=0;
	int k=0;

	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s %d",peo[i].num,&peo[i].age);
	}


	for(i=0;i<n;i++)
	{
		if(peo[i].age>=60)
		{
			pai[j]=peo[i];
			j++;
		}
	}

	for(i=0;i<n;i++)
	{
		if(peo[i].age<60)
		{
			pai[j]=peo[i];
			j++;
		}
	}
	


	for(k=0;k<j-1;k++)
	{
		for(i=0;i<j-1-k;i++)
		{
			if((pai[i].age<pai[i+1].age)&&(pai[i+1].age>=60))
			{
				temp=pai[i];
				pai[i]=pai[i+1];
				pai[i+1]=temp;
			}
		}
	}

	for(i=0;i<n;i++)
		printf("%s\n",pai[i].num);
}