semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
	int i,j,n,k,l,z;
	int a[100],b[100],f[100];
	char d[30],c[100][30],e[100][30];
	scanf("%d",&n);
	for(i=0,z=0;i<n;i++)
	{
		scanf("%s",c[i]);
		scanf("%d",&a[i]);
		if(a[i]>=60)
		{b[z]=a[i];f[z]=z;strcpy(e[z],c[i]);a[i]=0;z++;}
	}
	for(i=0;i<z;i++)
	{
		for(j=i+1;j<z;j++)
		{
			if(b[j]>b[i])
			{
				strcpy(d,e[i]);strcpy(e[i],e[j]);strcpy(e[j],d);
				k=b[i];b[i]=b[j];b[j]=k;
				l=f[i];f[i]=f[j];f[j]=l;
			}
			if(b[i]==b[j])
			{
				if(f[i]>f[j])
				{
				strcpy(d,e[i]);strcpy(e[i],e[j]);strcpy(e[j],d);
				k=b[i];b[i]=b[j];b[j]=k;
				l=f[i];f[i]=f[j];f[j]=l;
				}
			}
		}
	}
	for(i=0;i<z;i++)
		printf("%s\n",e[i]);
	for(i=0;i<n;i++)
	{
		if(a[i]!=0)
			printf("%s\n",c[i]);
	}
	return 0;
}
struct patient{
	char num[20];
	int age;
};


int main()

{
	void bubble(struct patient a[],int len);
	int n,i,old,sum,age,j;
    struct patient a[100];
	struct patient b[100];
	char str[100]={'\0'};
	char str1[100]={'\0'};

	scanf("%d",&n);

	for(i=0,j=0,sum=0;sum<=n;)
	{
		age=0;
		strcpy(str,str1);
		scanf("%s %d",str,&age);

		if(age>=60){strcpy(a[i].num,str);a[i].age=age;i++;sum++;}
		else{strcpy(b[j].num,str);b[j].age=age;j++;sum++;}
		
	}
	//printf("%d",i);

	bubble(a,i);
	old=i;

	for(i=0;i<old;i++)
	{
		printf("%s\n",a[i].num);
	}
	for(i=0;i<j;i++)
	{
         printf("%s\n",b[i].num);
	}

	return 0;
}


void bubble(struct patient a[],int len)
{
	int i,pass;
	struct patient temp;//temp????????????
	
	for(pass=1;pass<len;pass++)
	{
		for(i=0;i<len-pass;i++)
		{
			if(a[i].age<a[i+1].age)
			{temp=a[i];a[i]=a[i+1];a[i+1]=temp;}
		}
	}
}
struct patient
{
	char num[10];
	int  age;
} p[100];

void main()
{
	int i,j=0,k=0,t,l,n;
	char other[100][10],a[10];
	struct patient old[100];
	scanf("%d",&n);
	for(i=0;i<n;i++)
	scanf("%s%d",p[i].num,&p[i].age);
   for(i=0;i<n;i++)
	{
		if(p[i].age>=60)
		{
			
		  strcpy(old[j].num,p[i].num);
		  old[j].age=p[i].age;
		  j++;
		}
		else 
		{
			strcpy(other[k],p[i].num);
			k++;
		}
	}
	
	for(i=0;i<j-1;i++)
	{
		for(l=0;l<j-1-i;l++)
		{
			if(old[l].age<old[l+1].age)
			{
				t=old[l].age;
                old[l].age=old[l+1].age;
				old[l+1].age=t;
				
				strcpy(a,old[l].num);
				strcpy(old[l].num,old[l+1].num);
				strcpy(old[l+1].num,a);
			}
		}
	}
	for(i=0;i<j;i++)
	printf("%s\n",old[i].num);
	for(i=0;i<k;i++)
	printf("%s\n",other[i]);
}
void main()
{
	struct person
	{
		char id[10];
		int age;
	} m[100],b[100];
	int n,t,i,j;
	char temp[10];

	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s",m[i].id);
		strcpy(b[i].id,m[i].id);
		scanf("%d",&m[i].age);
		b[i].age=m[i].age;
	}

	for(i=0;i<n-1;i++)
		for(j=0;j<n-1-i;j++)
		{
			if(m[j].age<m[j+1].age)
			{
				t=m[j].age;
				m[j].age=m[j+1].age;
				m[j+1].age=t;
				strcpy(temp,m[j].id);
				strcpy(m[j].id,m[j+1].id);
				strcpy(m[j+1].id,temp);	
			}
		}
		for(i=0;i<n;i++)
			if(m[i].age>=60) printf("%s\n",m[i].id);
		for(i=0;i<n;i++)
			if(b[i].age<60)	printf("%s\n",b[i].id);
	
}
int main(){
	struct ID{
		char x[100];
		int y;
	}da[100],xiao[100],p[100],e;
	int s,m=0,n=0;
	scanf("%d\n",&s);
	
	for(int i=0;i<s;i++){
		scanf("%s %d",&(p[i].x),&(p[i].y));
		if(p[i].y>=60){
			da[m]=p[i];
			m++;
		}else{
			xiao[n]=p[i];
			n++;
		}
	}
	
	for(int b=1;b<=m;b++){
		for(int v=0;v<m-b;v++){
			if(da[v].y<da[v+1].y){
				e=da[v];
				da[v]=da[v+1];
				da[v+1]=e;
			}
		}
	}
	int h,f;
	for(int z=0;z<m;z++){
		f=strlen(da[z].x);
		for(int g=0;g<f;g++){
			if(g!=f-1){
				printf("%c",da[z].x[g]);
			}else{
				printf("%c\n",da[z].x[g]);
			}
		}
	}
	for(int a=0;a<n;a++){
		h=strlen(xiao[a].x);
		for(int j=0;j<h;j++){
			if(j!=h-1){
				printf("%c",xiao[a].x[j]);
			}else{
				printf("%c\n",xiao[a].x[j]);
			}
		}
	}

	


	return 0;
}
struct st
{
	char s[11];
	int n;
	struct st *next;
};
struct st *creat(int m)
{
	struct st *head,*p1,*p2;
	int i;
	for(i=0;i<m;i++)
	{
		p1=(struct st *)malloc(len);
		if(i==0)head=p1;
		else p2->next=p1;
		scanf("%s %d",p1->s,&p1->n);
		p2=p1;
	}
	p2->next=NULL;
	return(head);
}
void line(struct st *head,int m)
{
	struct st *p,*p1,*p2;
	p=head;
	int i,j,t;
	for(i=0;i<m;i++)
	{
		p1=p;
		p2=p1->next;
		for(j=1;j<m;j++)
		{
			char ss[11]={'\0'};
			if(p1->n>=60)
			{
				if(p2->n>p1->n)
				{
					strcpy(ss,p1->s);
					strcpy(p1->s,p2->s);
					strcpy(p2->s,ss);
					t=p1->n;
					p1->n=p2->n;
					p2->n=t;
				}
			}
			else
			{
				if(p2->n>=60)
				{
					strcpy(ss,p1->s);
					strcpy(p1->s,p2->s);
					strcpy(p2->s,ss);
					t=p1->n;
					p1->n=p2->n;
					p2->n=t;
				}
			}
			p1=p1->next;
			p2=p2->next;
		}
	}
	for(i=0;i<m;i++)
	{
		printf("%s\n",p->s);
		p=p->next;
	}
}
void main()
{
	struct st *p;
	void line(struct st *head,int m);
	struct st *creat(int m);
	int m,i,j;
	scanf("%d",&m);
	p=creat(m);
	line(p,m);
}
struct person
{
    char ID[10];
    int age;

} per[100];
int main()
{
   int i,n,j,k=0,a[100]={0},num=0,temp1;
   char b[100][10]={0},temp2[10]={0};
   scanf("%d",&n);
   for(i=0;i<n;i++)
   scanf("%s %d",per[i].ID,&per[i].age);
   for(i=0;i<n;i++)
   {
       if(per[i].age>=60)
    {
        a[k]=per[i].age;
        strcpy(b[k],per[i].ID);
        k++;
        num++;
    }
   }
    for(j=0;j<num;j++)
    {
        for(k=0;k<num-j;k++)
        if(a[k]<a[k+1])
        {
            temp1=a[k];
            a[k]=a[k+1];
            a[k+1]=temp1;
            strcpy(temp2,b[k]);
            strcpy(b[k],b[k+1]);
            strcpy(b[k+1],temp2);
        }
    }
    for(i=0,k=num;i<n;i++)
    {
        if(per[i].age<60)
        {a[k]=per[i].age;
         strcpy(b[k],per[i].ID);
         k++;
         num++;}
    }
    for(k=0;k<num-1;k++)
    printf("%s\n",b[k]);
    printf("%s",b[num-1]);

}
int main()
{
	int i,j,n,e;
	char q[11];
	struct point
	{
		char name[11];
		int age;
	}
	p[100];
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s%d",&p[i].name,&p[i].age);
	}
	for(j=0;j<n;j++)
	{
		for(i=0;i<n-1;i++)
		{
			if((p[i].age>60||p[i].age==60)&&(p[i+1].age>60||p[i+1].age==60)&&p[i].age<p[i+1].age||p[i].age<60&&(p[i+1].age>60||p[i+1].age==60))
			{
				e=p[i].age;
				p[i].age=p[i+1].age;
				p[i+1].age=e;

				strcpy(q,p[i].name);
				strcpy(p[i].name,p[i+1].name);
				strcpy(p[i+1].name,q);
			}
		}
	}
	for(i=0;i<n;i++)
	{
		printf("%s",p[i].name);
		if(i!=n-1)
		{
			printf("\n");
		}
	}
	return 0;
}
void main()
{
	int n,i,d=0,q,j;
	int b[101],f[101];
	char a[101][10],c[101][10],e[101][10];
	scanf("%d",&n);
	for (i=0;i<n;i++)
	{
		scanf("%s %d",a[i],&b[i]);
	}
	q=n-1;j=0;
	for(i=n-1;i>=0;i--)
	{
			if (b[i]<60)
		{
				
			    strcpy(c[q],a[i]);
			    q=q-1;
		}
		
	}
	for (i=0;i<n;i++)
	{
		if (b[i]>=60)
		{
			
			strcpy(c[j],a[i]);
			f[j]=b[i];
			d=d+1;
			j=j+1;
		}
	}
	for (i=0;i<d;i++)
	{
		for (j=0;j<d-1;j++)
		{
			if (f[j]<f[j+1])
			{
				f[100]=f[j];
				f[j]=f[j+1];
				f[j+1]=f[100];
				strcpy(c[100],c[j]);
				strcpy(c[j],c[j+1]);
				strcpy(c[1+j],c[100]);
			}
		}
	}
	for(i=0;i<n;i++)
		printf("%s\n",c[i]);


}
int main()
{
	struct patient
	{
		int id[7];
		int age;
	}patient[100];
	int i,n,max=0,k;
	scanf("%d\n",&n);
	for(i=0;i<n;i++)scanf("%s %d\n",patient[i].id,&patient[i].age);
	for(i=0;i<n;i++)
	{
		if(patient[i].age>max)max=patient[i].age;
	}
	for(k=max;k>59;k--)
	{
		for(i=0;i<n;i++)if(patient[i].age==k)printf("%s\n",patient[i].id);
	}
	for(i=0;i<n;i++)
	{
		if(patient[i].age<60)printf("%s\n",patient[i].id);
	}
}
void main()
{
  struct pa
  { char m[10];
  int a;
  };
  struct pa p[100],t,s={"0",0},pp[100];
  int n,i,j=0,m=0,k;
  scanf("%d",&n);
  for(i=0;i<n;i++)
	  scanf("%s%d",&p[i].m,&p[i].a);
	for(i=0;i<n;i++)
  {if(p[i].a>=60)m++;}
for(j=0;j<m;j++)
{t=s;k=100;
	for(i=0;i<n;i++)
	{if(p[i].a>=60&&p[i].a>t.a){t=p[i];k=i;}}
            pp[j]=t;p[k]=s;
			}


for(i=0;i<n;i++)
if(p[i].a<60&&p[i].a>0){pp[j]=p[i];j++;}

for(i=0;i<n;i++)
printf("%s\n",pp[i].m);


}
void main()
{
  int n,i,j;
  struct
  {
    char ID[10];
	int a;
	int p;
  } s[100],t;
 /* char ID[100][10];
  int a[100];
  int p[100];*/
  scanf("%d",&n);
  for(i=1;i<=n;i++)
  {
    scanf("%s%d",s[i].ID,&s[i].a);
	s[i].p=i;
  }
  
  for(i=1;i<n;i++)
	  for(j=i+1;j<=n;j++)
         if( ((s[i].a<60)&&(s[j].a>=60)) || ((s[i].a>=60)&&(s[j].a>=60)&&(s[i].a<s[j].a)) || ((s[i].a>=60)&&(s[j].a>=60)&&(s[i].a==s[j].a)&&(s[i].p>s[j].p)) || ((s[i].a<60)&&(s[j].a<60)&&(s[i].p>s[j].p)))
		 {
            t=s[i];
			s[i]=s[j];
			s[j]=t;
		 }
  for(i=1;i<=n;i++)
	  printf("%s\n",s[i].ID);
}
struct patient
{
    char id[15];
	int  age;
	struct patient *ne;
};

struct patient *lian(int n)
{
    int i;
	struct patient *head;
	struct patient *p;
	struct patient *q;

	head=(struct patient *)malloc(sizeof(struct patient));
	scanf("%s%d",head->id,&head->age);
	head->ne=0;
	q=head;
	for(i=1;i<n;i++)
	{   
		p=(struct patient *)malloc(sizeof(struct patient));	
		scanf("%s%d",p->id,&p->age);
	    p->ne=0;
		q->ne=p;
		q=p;
	}
	return head;
}

int main()
{
    int n,max,i,sign,b=5000;
	struct patient *head;
    struct patient *p;

	scanf("%d",&n);

	head=lian(n);

	for(;;)
	{

	     for(p=head,max=-1,sign=0;p!=NULL;p=p->ne)
		 {
	         if(((p->age)>=60)&&max<(p->age)&&((p->age)<b))
			 {
		    	max=p->age;
		    	sign=1;
			 }
		 }
		 b=max;
	    if(sign==0)
	     	break;
	    for(p=head;p!=NULL;p=p->ne)
		{
	        if((p->age)==max)
			{
				printf("%s\n",p->id);
			
			}
		}

	}
	for(p=head;p!=NULL;p=p->ne)
	{
	    if((p->age)<60)
			printf("%s\n",p->id);
	}

	return 0;


}
void main()
{
	int n,i,j;
	struct p{
		char id[30];
		int ag;
	}a[105],temp;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%s %d",a[i].id,&a[i].ag);
	}
	for(i=0;i<n-1;i++){
		for(j=1;j<n-i;j++){
			if(a[j-1].ag>=60&&a[j].ag>=60){
				if(a[j-1].ag<a[j].ag){
					temp=a[j-1];
					a[j-1]=a[j];
					a[j]=temp;
				}
			}
			else if(a[j-1].ag<60&&a[j].ag>=60){
				temp=a[j-1];
				a[j-1]=a[j];
				a[j]=temp;
			}
		}
	}
	for(i=0;i<n;i++)printf("%s\n",a[i].id);
}
int main()
{
	int n;
	scanf("%d",&n);
	int i,j;
	char id[100][10];
	int age[100];
	char oid[100][10];
	int oage[100];
	for(i=0;i<n;i++)
	{
		scanf("%s",id[i]);
		scanf("%d",&age[i]);
	}
         int k=0;
	for(i=0;i<n;i++)
	{
		if(age[i]>=60)
		{
				oage[k]=age[i];
				strcpy(oid[k],id[i]);k++;
		}
	}	
	for(i=1;i<k;i++)
	{
		for(j=0;j<k-i;j++)
		{
                        if(oage[j]<oage[j+1])
			{
				int e;
				e=oage[j];
				oage[j]=oage[j+1];
				oage[j+1]=e;
				char f[10];
				strcpy(f,oid[j]);
				strcpy(oid[j],oid[j+1]);
				strcpy(oid[j+1],f);
			}
		}
	}
	for(i=0;i<k;i++)
	{
		printf("%s\n",oid[i]);
	}
	for(i=0;i<n;i++)
	{
		if(age[i]<60)printf("%s\n",id[i]);
	}
	return 0;
}
int main()
{
	int n,a[100],l[100],b[100],i=0,j,k,p=0,q=0,t=0;
	char s[100][12],lao[100][13]={'\0'},bu[100][13]={'\0'},w[12]={'\0'};
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%s%d",&s[i],&a[i]);
	if(a[i]>=60)l[p]=a[i],strcpy(lao[p],s[i]),p++;
	else b[q]=a[i],strcpy(bu[q],s[i]),q++;}

	for(i=0;i<p;i++){
		for(j=0;j<p-1;j++){
			if(l[j]<l[j+1])t=l[j],l[j]=l[j+1],l[j+1]=t,strcpy(w,lao[j]),strcpy(lao[j],lao[j+1]),strcpy(lao[j+1],w);
	}}
	for(i=0;i<p;i++){printf("%s\n",lao[i]);}
	for(i=0;i<q;i++){printf("%s\n",bu[i]);}
}
int main()
{
	struct patient
	{
		char num[11];
		int age;
	}
	pat[101],t;
	int n,i,j;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s %d",&pat[i].num,&pat[i].age);
	}
    for(i=0;i<n-1;i++)
	{
		for(j=0;j<n-1-i;j++)
		{
			if((pat[j].age<60&&pat[j+1].age>=60)||(pat[j].age>=60&&pat[j+1].age>pat[j].age))
			{
				t=pat[j];
				pat[j]=pat[j+1];
				pat[j+1]=t;
			}
		}
	}
	for(i=0;i<n;i++)
	{
		printf("%s\n",pat[i].num);
	}
	return 0;
}
struct pa{
	char id[10];
	int age;
	struct pa* next; 
}*head,*p,*p2;

int main()
{
	int i,j,n,t;
	char tid[10];
	scanf("%d",&n);
	head=(struct pa*)malloc(sizeof(struct pa));
	p=(struct pa*)malloc(sizeof(struct pa));
	scanf("%s %d",p->id,&p->age);
	head->next=p;
	p->next=NULL;
	p2=p;
	for(i=1;i<n;i++)
	{		
		p=(struct pa*)malloc(sizeof(struct pa));
		scanf("%s %d",p->id,&p->age);
		p2->next=p;
		p2=p;
		p2->next=NULL;
	}

//	for(p=head->next;p!=NULL;p=p->next)printf("%s\n",p->id);	

	for(i=0;i<n;i++)				//???????????, ????GE?????
	{			
		for(p=head->next;p->next!=NULL;p=p->next)		
		{
			if(p->next->age>=60 && p->next->age>p->age)  //???????..?????????.
			{	t=p->age,p->age=p->next->age,p->next->age=t;
				strcpy(tid,p->id),strcpy(p->id,p->next->id),strcpy(p->next->id,tid);
			}
		}			
	}	

	p=head->next;	
	for(i=0;i<n;i++)
	{
		printf("%s\n",p->id);
		p=p->next;
	}
	return 0;

}
struct mouse
{
	char id[10];
	int age;
	struct mouse *next;
};
struct mouse *creat(int n)
{
	struct mouse *head,*p1,*p2;
	int i;
	for(i=0;i<n;i++)
	{
		if(i==1) head=p1;
		if(i>1) p2->next=p1;
		p2=p1;
		p1=(struct mouse *)malloc(sizeof(struct mouse));
		scanf("%s %d",p1->id,&p1->age);
	}
	p2->next=p1;p1->next=NULL;
	return(head);
}
struct mouse *order(struct mouse *head,int n)
{
	struct mouse *p1,*p2;
	int i,j,x;
	char a[10];
	for(i=1;i<n;i++)
	{
		p2=head;p1=p2->next;
		for(j=0;j<n-i;j++)
		{
			if(p2->age<p1->age&&p1->age>=60)
			{
				x=p2->age;p2->age=p1->age;p1->age=x;
				strcpy(a,p2->id);strcpy(p2->id,p1->id);strcpy(p1->id,a);
			}
			p2=p1;p1=p1->next;
		}
	}
	return(head);
}
main()
{
	struct mouse *head,*p;
	int i,n;
	scanf("%d",&n);
	head=creat(n);
	head=order(head,n);
	p=head;
	for(i=0;i<n;i++)
	{
		printf("%s\n",p->id);
		p=p->next;
	}
}
main()
{
	int n,m[100];
	int t,i,j;
	char str[100][10],s[10];

	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%s%d",str[i],&m[i]);
	for(j=1;j<n;j++)
		for(i=0;i<n-j;i++)
		{
			if(m[i]>=60)
			{if(m[i+1]>=60)
			  {if(m[i+1]>m[i]) 
				  {strcpy(s,str[i]);strcpy(str[i],str[i+1]);strcpy(str[i+1],s);t=m[i];m[i]=m[i+1];m[i+1]=t;}
			  }
			else {strcpy(s,str[i]);strcpy(str[i],str[i+1]);strcpy(str[i+1],s);t=m[i];m[i]=m[i+1];m[i+1]=t;}}
			if(m[i]<60)
			{
				if(m[i+1]>=60)   {strcpy(s,str[i]);strcpy(str[i],str[i+1]);strcpy(str[i+1],s);t=m[i];m[i]=m[i+1];m[i+1]=t;}
			
			}
		}
		for(i=0;i<n;i++)
		printf("%s\n",str[i]);
}
int main()
{
    int n,i,j,s=-1,t=-1,k,age[100],e[100],h[100];
    char a[100][10],b[100][10],c[100][10],f[10];
    scanf("%d",&n);
    for(i=0;i<=(n-1);i++)
      { 
       scanf("%s %d",a[i],&age[i]);
       }
    for(i=0;i<=(n-1);i++)
    {
      if(age[i]>=60)
        {
       
        s=s+1;
        e[s]=age[i];
         strcpy(b[s],a[i]);
        }             
      else
      {
         
          t=t+1;
          h[t]=age[i];
           strcpy(c[t],a[i]);
          
          }
      }
    for(j=0;j<s;j++)
    {
         for(i=0;i<s-j;i++)
         {
           if(e[i]<e[i+1])
           {
              k=e[i];
              e[i]=e[i+1];
              e[i+1]=k;
               strcpy(f,b[i]);
                strcpy(b[i],b[i+1]);
                 strcpy(b[i+1],f);         
           }                   
         }                
                         }
      for(i=0;i<=s;i++)
      {
        printf("%s\n",b[i]);                   
                           }
      for(i=0;i<=t;i++)
      {
        printf("%s\n",c[i]);                   
                           }
                           getchar();
                           getchar();
                           return 0;                                        
    }
int main()
{
	char id[100][10];
	int o[100],n,i,j,s[100],b=0,t;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s",id[i]);
		scanf("%d",&o[i]);
	}
	for(i=0;i<n;i++)
	{
		if(o[i]>=60)
		{
			s[b]=o[i];
			b++;
		}
	}
	for(i=0;i<b;i++)
	{
		for(j=b-1;j>i;j--)
		{
			if(s[j]>s[j-1])
			{
				t=s[j];
				s[j]=s[j-1];
				s[j-1]=t;
			}
		}
	}
	for(i=0;i<b-1;i++)
	{
		if(s[i]==s[i+1])
			s[i]=-1;
	}
	for(i=0;i<b;i++)
	{
		for(j=0;j<n;j++)
		{
			if(o[j]==s[i])
				printf("%s\n",id[j]);
		}
	}
	for(i=0;i<n;i++)
	{
		if(o[i]<60)
			printf("%s\n",id[i]);
	}
	return 0;
}
int main()
{
	int n,a[100],i,num=0,m[100],j;
	char c[100][10];
	
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s",c[i]);
		scanf("%d",&a[i]);
	}
	
	
	
	for(i=0;i<n;i++)
	{
		if(a[i]>=60)
		{
			for(j=0;j<n;j++)
			{
				if(a[i]>=a[j])
				{
					num=num+1;
				}	
			}
			m[i]=num;
			num=0;
		}
	}
	
	for(j=n;j>0;j--)
	{
		for(i=0;i<n;i++)
		{
			if(a[i]>=60)
			{
				if(m[i]==j)
				{
					printf("%s\n",c[i]);
				}
			}
		}
	}
	
	for(i=0;i<n;i++)
	{
		if(a[i]<60)
		{
			printf("%s\n",c[i]);
		}
	}

	return 0;
}
int main()
{
	int n,i,j,k;
	int slotnum;
	char slot[100];
	scanf("%d",&n);

	char s1[100][100];
	int s2[100];
	char a1[100][100];
	int a2[100];
	int anum=0;
	char b1[100][100];
	int b2[100];
	int bnum=0;
	for(i=0,j=0,k=0;i<n;i++)
	{
		scanf("%s %d",s1[i],&s2[i]);
		if(s2[i]>=60)
		{
			strcpy(a1[j],s1[i]);
			a2[j]=s2[i];
			j++;
			anum++;
		}
		if(s2[i]<60)
		{
			strcpy(b1[k],s1[i]);
			b2[k]=s2[i];
			k++;
			bnum++;
		}
	}

	for(i=anum-1;i>0;i--)
	{
		for(j=0;j<i;j++)
		{
			if(a2[j]<a2[j+1])
			{
				strcpy(slot,a1[j]);
				strcpy(a1[j],a1[j+1]);
				strcpy(a1[j+1],slot);
				slotnum=a2[j];
				a2[j]=a2[j+1];
				a2[j+1]=slotnum;
			}
		}
	}

	for(i=0;i<anum;i++)
	{
		printf("%s\n",a1[i]);
	}
	for(i=0;i<bnum;i++)
	{
		printf("%s\n",b1[i]);
	}

	return 0;
}
int main()
{
	int n,sz[100],i=0,a[100],b[100],p=0,q=0,m=0;
	char sz1[100][100],a1[100][100],b1[100][100],e[100];
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%s%d",sz1[i],&sz[i]);
	for(i=0;i<n;i++)
	{
		if(sz[i]>=60)
		{
			a[p]=sz[i];
			strcpy(a1[p],sz1[i]);
			p++;
		}
		if(sz[i]<60)
		{
			b[q]=sz[i];
			strcpy(b1[q],sz1[i]);
			q++;
		}
	}
	for(i=1;i<p;i++)
	{
		for(m=0;m<p-i;m++)
		{
			if(a[m]<a[m+1])
			{
				int t = a[m];
				a[m] = a[m+1];
				a[m+1] = t;
				strcpy(e,a1[m]);
				strcpy(a1[m],a1[m+1]);
				strcpy(a1[m+1],e);
			}
		}
	}
	for(i=0;i<p;i++)
		printf("%s\n",a1[i]);
	for(m=0;m<q;m++)
		printf("%s\n",(b1[m]));


	return 0;
}
int main()
{
	struct data
	{
		int age;
		char id[10];
	}o[101],y[101],tmp;
	int no=0,ny=0;
	int i,j,n;
	cin>>n;
	for(i=0;i<n;i++)
	{
		cin>>tmp.id>>tmp.age;
		if(tmp.age>=60)
		{
			o[no]=tmp;
			no++;
		}
		else
		{
			y[ny]=tmp;
			ny++;
		}
	}
	for(i=no-1;i>0;i--)
	{
		for(j=0;j<i;j++)
		{
			if(o[j].age<o[j+1].age)
			{
				o[100]=o[j];
				o[j]=o[j+1];
				o[j+1]=o[100];
			}
		}
	}
	for(i=0;i<no;i++)
		cout<<o[i].id<<endl;
	for(i=0;i<ny;i++)
		cout<<y[i].id<<endl;
	return 0;
}
struct patient
{
char id[10];
int age;
}pa[100];

void main()
{
int n,i,j,max=59,m,t=0;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%s %d",pa[i].id,&pa[i].age);
for(i=0;i<n;i++)
if(pa[i].age>59)t++;
for(j=0;j<t;j++)
{
for(i=0;i<n;i++)
if(pa[i].age>max)
{
max=pa[i].age;
m=i;
}
printf("%s\n",pa[m].id);
pa[m].age=0;
max=59;
}

for(i=0;i<n;i++)
if(pa[i].age<=59&&pa[i].age!=0)
printf("%s\n",pa[i].id);
}
void main()
{
	struct patient
	{char id[10];
	int a;
	}all[100],old[100],temp;
	int n,j=0,k,i;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s%d",all[i].id,&all[i].a);
          if(all[i].a>=60)
		  {
           		old[j]=all[i];
				j=j+1;
		  }
	}
	for(i=j-1;i>0;i--)
	{
		for(k=0;k<i;k++)
		{
			if(old[k].a<old[k+1].a)
			{
				temp=old[k];
				old[k]=old[k+1];
				old[k+1]=temp;
			}
		}
	}
	for(i=0;i<j;i++)
	{
	    printf("%s\n",old[i].id);
	}
    for(i=0;i<n;i++)
	{
		if(all[i].a<60)
			printf("%s\n",all[i].id);
	}
}
struct data
{
	char id[100];
	int age;
};


int main()
{
	
	struct data old[1000];
	struct data young[1000];
	struct data temp;
	int n,i,p=0,q=0,len1,len2,k;
	char id[100];
	int age;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%s%d",id, &age);
		if(age>=60){
			old[p].age=age;
			strcpy(old[p].id,id);
			p++;
		}else{
			young[q].age=age;
			strcpy(young[q].id,id);
			q++;
		}
	}
	len1=p;
	len2=q;
	for(k=1;k<len1;k++){
		for(i=0;i<len1-k;i++){
			if(old[i].age<old[i+1].age){
				temp=old[i+1];
				old[i+1]=old[i];
				old[i]=temp;
			}
		}
	}
	for(i=0;i<len1;i++){
		printf("%s\n",old[i].id);
	}
	for(i=0;i<len2;i++){
		printf("%s\n",young[i].id);
	}
	return 0;
}
int main()
{
    char a[110],b[100][1000];
    int n,i,y,l,j,p=0,q=0,c[1000],d[1000],e[1000],m,s,g[1000],v[1000];
        scanf("%d",&n);
               for(i=1;i<=n;i++)
                           {   
                               scanf("%s %d",a,&y);
                               l=strlen(a);
                               for(j=0;j<l;j++)
                                  {b[i-1][j]=a[j];} //??ID 
                                  b[i-1][l]='\0';
                                  c[i-1]=y;//???? 
                           }  
              for(i=0;i<n;i++)//???? 
              {
              if(c[i]>=60)     
                 {
                 d[p]=c[i];
                 g[p]=i;
                 p++;           
                 }
              else if(c[i]<60)
                 {
                 e[q]=c[i];
                 v[q]=i;
                 q++;
                 }
              }
                              for(j=0;j<=p-1;j++)
                                  {               
                                  for(i=0;i<=p-1;i++)
                                          {
                                          if(d[i]>m)
                                            { m=d[i];
                                             s=i;
                                             }
                                          else if(d[i]<=m);
                                          }
                                     printf("%s\n",b[g[s]]);         
                                     m=0; 
                                     d[s]=0;
                                  }      
                            for(i=0;i<=q-1;i++)
                                  printf("%s\n",b[v[i]]);            
                                     
    
    
    
     
}
struct hospital
	{
		char ID[11];
		int age;
	}old[100],young[100],all[100],temp;
void sequence(struct hospital matrix[],int n)
{
	int i,j;
	for(i=0;i<n-1;i++)
	{
		for(j=0;j<n-1-i;j++)
		{
			if(matrix[j].age<matrix[j+1].age)
			{
				temp=matrix[j];
				matrix[j]=matrix[j+1];
				matrix[j+1]=temp;
			}
		}
	}
}

	/*
	??????????????????
	{
	int i,j,k;
	for(i=0;i<n-1;i++)
	{
		k=i;
		for(j=i+1;j<n;j++)
		{
			if(matrix[j].age>matrix[k].age)
			{
				k=j;
			}
		}
		if(k!=i)
		{
			temp=matrix[i];
			matrix[i]=matrix[k];
			matrix[k]=temp;
		}
	}
}
*/

int main()
{
	int n;
	scanf("%d",&n);
	int i;
	for(i=0;i<n;i++)
	{
		scanf("%s %d",all[i].ID,&all[i].age);
	}
	int oi=0,yi=0;
	for(i=0;i<n;i++)
	{
		if(all[i].age>=60)
		{
			old[oi]=all[i];
			oi++;
		}
		else
		{
			young[yi]=all[i];
			yi++;
		}
	}
	sequence(old,oi);
	for(i=0;i<oi;i++)
	{
		printf("%s\n",old[i].ID);
	}
	for(i=0;i<yi;i++)
	{
		printf("%s\n",young[i].ID);
	}
	return 0;
}
int main(){
	char s[100][MAX+1];
	char g[100][MAX+1];
	int h[100];
	int k[100],a,i,j;
	char q[100];
	int n,e;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%s",s[i]);
		scanf("%d",&k[i]);
	}
	a=0;
	j=0;
	for(i=0;i<n;i++){
		if(k[i]>=60){
		a++;
		h[j]=k[i];
		strcpy(g[j],s[i]);
		j++;
		k[i]=0;
	}
	}
	for(i=1;i<=a;i++){
		for(j=0;j<a-i;j++){
			if(h[j]<h[j+1]){
				e=h[j];
				h[j]=h[j+1];
				h[j+1]=e;
				strcpy(q,g[j]);
				strcpy(g[j],g[j+1]);
				strcpy(g[j+1],q);
			}
		}
	}
	for(i=0;i<a;i++){
		printf("%s\n",g[i]);
	}
	for(i=0;i<n;i++){
		if(k[i]!=0)
			printf("%s\n",s[i]);
	}
	return 0;
}
struct pat
{
	char id[11];
	int age;
	struct pat *next;
};

void find(struct pat *head,struct pat *s)
{
	struct pat *pre=head,*p=pre->next;
	while(p!=NULL&&s->age<=p->age)
	{
		pre=p;
		p=p->next;
	}
	pre->next=s;
	s->next=p;
}

void sort(struct pat *head,int x,char name[11])
{
	struct pat *pre=head,*p=pre->next,*s;
	s=(struct pat*)malloc(sizeof(struct pat));
	s->age=x;
	strcpy(s->id,name);
	s->next=NULL;
	if(x>=60) find(head,s);
	else
	{
		while(p!=NULL)
		{
		   pre=p;
		   p=p->next;
		}
	    pre->next=s;
	    s->next=p;
	}
}

int main()
{

	struct pat *head,*p;
	int n,x,i;
	char name[11];
	head=(struct pat*)malloc(sizeof(struct pat));
	head->next=NULL;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s%d",name,&x);
		sort(head,x,name);
	}
	p=head->next;
	while(p!=NULL)
	{
		printf("%s\n",p->id);
		p=p->next;
	}
	return 0;
}