semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main(){
	int n;
	scanf("%d",&n);
	char id[100][10];
	int age[100];
	int oldno=0;
	int xu[100];
	char shunxu[100][10];
	for(int i=0;i<n;i++){
		scanf("%s %d",id[i],&age[i]);
	}
	for(int j=0;j<n;j++){
		if(age[j]>=60){
			xu[oldno]=age[j];
			strcpy(shunxu[oldno],id[j]);
			oldno++;
		}
	}
	
	int num=oldno;
	int e;
	char tem[10];
	for(int k=0;k<n;k++){
		if(age[k]<60){
            xu[oldno]=age[k];
			strcpy(shunxu[oldno],id[k]);
			oldno++;
		}
	}
	for(int x=1;x<=num;x++){
		for(int y=0;y<num-x;y++){
			if(xu[y]<xu[y+1]){
				e=xu[y];
				xu[y]=xu[y+1];
				xu[y+1]=e;
				strcpy(tem,shunxu[y]);
				strcpy(shunxu[y],shunxu[y+1]);
				strcpy(shunxu[y+1],tem);
			}
		}
	}
	for(int z=0;z<n;z++){
		printf("%s\n",shunxu[z]);
	}
    return 0;
}
int main()
{
	struct patient
	{
		char a[10];
		int age;
	}pat[100];
	int n,i,m,b[100],l=0,p,q=0;
	scanf("%d",&n);
    for(i=0;i<n;i++)
	{
		scanf("%s%d",pat[i].a,&pat[i].age);
	}
	for(i=0;i<n;i++)
	{
		if(pat[i].age>=60)
		{
			l=l+1;
			b[l]=pat[i].age;
		}
	}
	for(i=1;i<=l;i++)
	{
		for(m=i+1;m<=l;m++)
			if(b[i]<b[m])
			{
				p=b[i];
				b[i]=b[m];
				b[m]=p;
			}
	}
	for(i=1;i<=l;i++)
	{
		for(m=1;m<=l;m++)
		{
			if(b[i]==b[m])
			{
				if(i!=m)b[m]=0;
			}
		}
	}
	for(i=1;i<=l;i++)
	{
		for(m=0;m<n;m++)
			if(pat[m].age==b[i])printf("%s\n",pat[m].a);
	}
	for(i=0;i<n;i++)
		if(pat[i].age<60)printf("%s\n",pat[i].a);
	return 0;
}
struct patient
{
    char id[10];
    int age;
    struct patient *next;
};
void sort(struct patient *head,struct patient *s)
{
    struct patient *pre=head,*p=pre->next;
    if(s->age>=60)
    {
        while(p!=NULL&&s->age<=p->age)
        {
            pre=p;
            p=p->next;
        }
        pre->next=s;
        s->next=p;
    }
    else
    {
        while(pre->next!=NULL)pre=pre->next;
        pre->next=s;
    }    
}
void main()
{
    int n,i;
    scanf("%d",&n);
    struct patient *head,*p;
    head=(struct patient*)malloc(LEN);
    head->next=NULL;
    for(i=0;i<n;i++)
    {
        p=(struct patient*)malloc(LEN);
        scanf("%s %d",p->id,&p->age);
        p->next=NULL;
        sort(head,p);
    }
    p=head->next;
    while(p!=NULL)
    {
        printf("%s\n",&p->id);
        p=p->next;
    }
}
struct patient
{
	char id[10];
	int age;
	struct patient *next;
};

struct patient *sort(struct patient *head,char d[10],int a)
{
	struct patient *pp,*p,*s;
	p=head;
	pp=p;
	p=p->next;
	s=(struct patient *)malloc(LEN);
	strcpy(s->id,d);
	s->age=a;
	while(p!=NULL&&p->age>=a)
	{
		pp=p;
		p=p->next;
	}
	s->next=p;
	pp->next=s;
}

struct patient *creat(struct patient *hhead,char d[10],int a)
{
	struct patient *p,*pp,*s;
	p=hhead;
	pp=p;
	p=p->next;
	while(p!=NULL)
	{
		pp=p;
		p=p->next;
	}
	s=(struct patient*)malloc(LEN);
	s->age=a;
	strcpy(s->id,d);
	s->next=p;
	pp->next=s;
}

void main()
{
	struct patient *head,*hhead,*p1,*p2;
	int n,a,i;
	char d[10];
	scanf("%d",&n);
	head=(struct patient*)malloc(LEN);
	head->next=NULL;
	hhead=(struct patient*)malloc(LEN);
	hhead->next=NULL;
	for(i=0;i<n;i++)
	{
		scanf("%s %d\n",d,&a);
		if(a>=60)
			sort(head,d,a);
		else creat(hhead,d,a);
	}
	p1=head->next;
	p2=hhead->next;
	while(p1!=NULL)
	{
		printf("%s\n",p1->id);
		p1=p1->next;
	}
	while(p2!=NULL)
	{
		printf("%s\n",p2->id);
		p2=p2->next;
	}
}
struct patient{
	char id[10];
	int age;
}pat[100],order[100],buffer[100],swap;

int main (){

	int i,j=0,m=0,n,k,p,q;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf ("%s%d",pat[i].id,&pat[i].age);
	}
	for(i=0;i<n;i++){
		if (pat[i].age>=60){
			order[j]=pat[i];
			j++;}
		}
	for(i=0;i<n;i++){
		if (pat[i].age<60){
		    buffer[m]=pat[i];
			m++;}
		}
		
	for(p=1;p<j;p++){
		for(q=0;q<j-p;q++){
					if (order[q].age<order[q+1].age){
						swap=order[q+1];
						order[q+1]=order[q];
						order[q]=swap;
					}
				}
			}
			for(q=0;q<j;q++){
			printf("%s",order[q].id);
			printf ("\n");}
			for(i=0;i<m;i++){
			printf("%s",buffer[i].id);
         	printf("\n");}

		}
int main()
{ 
   
    char str[100][100];//ID

    int  s1[100],sz[100],t[100];
    int n,i,p,k;

   scanf("%d",&n);//???

    
     int j=0;
    
     
   
     for(i=0;i<n;i++)
	 {  
		 scanf("%s %d",str[i],&sz[i]);//id
 
     
                     if(sz[i]>=60)//panduannianling
                     {
                            t[j]=i;//cunrulingyishuzu
                           s1[j]=sz[i]; 
                           j++;    
					 }//gongyou 'j' ren
	 }
	
            for(k=1;k<=j;k++)//paixu
                     {
                                      for(p=0;p<j-k;p++)
                                      {
                                                        if(s1[p]<s1[p+1])//congdadaoxiao
                                                        {
                                                                         int e,f;
                                                                         e=s1[p+1];
                                                                         s1[p+1]=s1[p];
                                                                         s1[p]=e;
																		 f=t[p+1];
																		 t[p+1]=t[p];
																		 t[p]=f;

                                                                         }
                                                        }
                                      
                                      }
                          for(p=0;p<j;p++)
                                      {
                                                      printf("%s\n",str[t[p]]);
                                                      
                                                      }
            
  for(i=0;i<n;i++)
  {
                  if(sz[i]<60)
                  printf("%s\n",str[i]);
                  }
                  

   
   return 0;
   }
int main()
{
	struct bingren
	{
		char num[10];
		int age;
	};
	int n;
	scanf("%d",&n);
	struct bingren u[1000];
	int i;
	for(i=0;i<n;i++)
	{
		scanf("%s %d",&u[i].num,&u[i].age);
	}
	struct bingren v[1000];
	int j=0;
    for(i=0;i<n;i++)
	{
		if(u[i].age>59)
		{v[j]=u[i];
		j++;
		}
	}
	int k;
    struct bingren e;
	for(k=1;k<j;k++)
	{
		for(i=0;i<j-k;i++)
		{
			if(v[i].age<v[i+1].age)
			{
				e=v[i+1];
				v[i+1]=v[i];
				v[i]=e;
			}
		}
	}
	for(i=0;i<j;i++)
	{
		printf("%s\n",v[i].num);
	}
		for(i=0;i<n;i++)
		{if(u[i].age<60)
		{printf("%s\n",u[i].num);}
		}
	return 0;
}
struct patient{
 int num;
 char hao[20];
 int age;
 struct patient *next;
};
struct ans{
 int numan;
 char haoan[20];
 int agean;
 struct ans *nextan;
};
void main()
{
	struct patient *head,*p1,*p2;
	struct ans *headan,*ans1,*ans2;
	int i,j,max,n,shu;
	shu=0;
	scanf("%d",&n);
	p1=(struct patient*)malloc(sizeof(struct patient));
	scanf("%s %d",p1->hao,&p1->age);
	p1->num=1;
	head=p1;
	p2=p1;
	for(i=0;i<n-1;i++)
	{
		p1=(struct patient*)malloc(sizeof(struct patient));
		scanf("%s %d",p1->hao,&p1->age);
		p2->next=p1;
		p1->num=i+2;
		p2=p1;
	}
	p2->next=NULL;
	max=0;
	p1=head;
	for(j=0;j<n;j++)
	{
		if(max<p1->age)max=p1->age;
		p1=p1->next; 
	}
	p1=head;
	for(j=0;j<n;j++)
	{
		if(max==p1->age)
		{
			ans1=(struct ans*)malloc(sizeof(struct ans));
			strcpy(ans1->haoan,p1->hao);
			printf("%s\n",ans1->haoan);
			ans1->agean=max;
			headan=ans1;
			ans2=ans1;
			p1->num=-1;
			p1->age=-1;
			shu=shu+1;
			break;
		}
		p1=p1->next;
	}   
	for(i=0;i<n-1;i++)
	{
		max=0;
		p1=head;
		for(j=0;j<n;j++)
		{
			if(max<p1->age)max=p1->age;
			p1=p1->next; 
		}
		if(max<60)break;
		p1=head;
		for(j=0;j<n;j++)
		{
			if(max==p1->age)
			{
				ans1=(struct ans*)malloc(sizeof(struct ans));
				strcpy(ans1->haoan,p1->hao);
				printf("%s\n",ans1->haoan);
				ans1->agean=max;
				headan=ans1;    
				ans2=ans1;
				p1->num=-1;
				p1->age=-1;
				shu=shu+1;
				break;
			}
			p1=p1->next;
		}     
	}
	for(i=0;i<n-shu;i++)
	{
		max=101;
		p1=head;
		for(j=0;j<n;j++)
		{
			if(max>p1->num&&p1->num!=-1)max=p1->num;
			p1=p1->next; 
		}
		p1=head;
		for(j=0;j<n;j++)
		{
			if(max==p1->num)
			{
				ans1=(struct ans*)malloc(sizeof(struct ans));
				strcpy(ans1->haoan,p1->hao);
				printf("%s\n",ans1->haoan);
				ans1->numan=max;
				headan=ans1;
				ans2=ans1;
				p1->num=-1;
				p1->age=-1;
				break;
			}
			p1=p1->next;
		}
		ans2->nextan=NULL; 
	}
}
int main()
{
	int n,t;
	char tc[16];
	struct per
	{
		char id[16];
		int a;
	}a[100];
	scanf("%d",&n);
	for(int i=0;i<n;i++)
	{
		scanf("%s %d",a[i].id,&a[i].a);
	}
	for(int j=n-1;j>0;j--)
	{
		for(int r=0;r<j;r++)
		{
			if(a[r].a>59&&a[r+1].a>59&&a[r].a<a[r+1].a)
			{
				
					strcpy(tc,a[r+1].id);
					strcpy(a[r+1].id,a[r].id);
					strcpy(a[r].id,tc);
					t=a[r+1].a;
					a[r+1].a=a[r].a;
					a[r].a=t;
					r=0;
				
			}
			if(a[r].a<=59&&a[r+1].a>59)
			{
				
					strcpy(tc,a[r+1].id);
					strcpy(a[r+1].id,a[r].id);
					strcpy(a[r].id,tc);
					t=a[r+1].a;
					a[r+1].a=a[r].a;
					a[r].a=t;
					r=0;
			}
		}
	}
	for(int f=0;f<n;f++)
	{
		printf("%s\n",a[f].id);
	}
	return 0;
}
int main(){
	int n,i,j,b;
	struct{
		char hao[10];
		int ni;
		int pa;
	}dk[100],t,p;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%s %d",&(dk[i].hao),&(dk[i].ni));
	}
     for(i=0;i<n-1;i++){
		 for(j=0;j<n-i-1;j++){
		if((dk[j].ni<60)&&(dk[j+1].ni>=60)){
			t=dk[j];
			dk[j]=dk[j+1];
			dk[j+1]=t;
		}
		
		 }
	}	
	 for(i=0;i<n-1;i++){
		 for(j=0;j<n-1-i;j++){
if((dk[j+1].ni>=60)&&(dk[j].ni>=60)&&(dk[j].ni<dk[j+1].ni)){
            p=dk[j];
			dk[j]=dk[j+1];
			dk[j+1]=p;
		}
		 }
	 }
	 b=strlen(dk[0].hao);
	for(i=0;i<n;i++){
		for(j=0;j<b;j++){
	printf("%c",dk[i].hao[j]);
		}
		printf("\n");
	}
	 return 0;
}
main()
{
 int n,oversix=0,undersix=0,osix[100],usix[100],t;
 char noosix[100][100]={0},nousix[100][100]={0},a[100][100]={0};
 char s[100][100]={0};
 scanf("%d",&n);
 int b[100];
 for(int i=0;i<n;i++)
            {
             scanf("%s %d",a[i],&b[i]);           
            }
 for(int i=0;i<n;i++)
            {
             if(b[i]>=60)
                       {
                        oversix++;
                        osix[oversix-1]=b[i];
                        strcpy(noosix[oversix-1],a[i]);                         
                       }
             else
                       {
                        undersix++;
                        usix[undersix-1]=b[i];
                        strcpy(nousix[undersix-1],a[i]);                                             
                       }         
             }
 for(int j=0;j<oversix-1;j++)
             for(int i=0;i<oversix-1-j;i++)
                       if(osix[i]<osix[i+1])
                              {
                               t=osix[i];
                               strcpy(s[i],noosix[i]);
                               osix[i]=osix[i+1];
                               strcpy(noosix[i],noosix[i+1]);
                               osix[i+1]=t;
                               strcpy(noosix[i+1],s[i]);       
                              }
 for(int i=0;i<oversix;i++)
 printf("%s\n",noosix[i]);
 for(int i=0;i<undersix;i++)
 printf("%s\n",nousix[i]);
 getchar();
 getchar();   
}
void main()
{
 struct br
 { char no[10];
   int s;
 }a[100],b[100],r;
 int n,i,j,t=0;
 scanf("%d",&n);
 for (i=0;i<n;i++)
 { scanf("%s %d",a[i].no,&a[i].s);
 if (a[i].s>=60) { b[t]=a[i];t=t+1;}
   }
 for (i=0;i<t-1;i++)
	 for (j=0;j<t-1-i;j++)
		 if (b[j].s<b[j+1].s) {r=b[j];b[j]=b[j+1];b[j+1]=r;}
 for (i=0;i<t;i++)
	 printf("%s\n",b[i].no);
 for (i=0;i<n;i++)
	 if (a[i].s>=60) continue;
	 else printf("%s\n",a[i].no);
}
void main()
{
	int a[100],n,i,j,k=0,d[100],p;
	char b[100][10],c[10],str[100][10];
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%s%d",str[i],&a[i]);
	for(i=0;i<n;i++)
		if(a[i]>=60)
		{
			d[k]=a[i];
			strcpy(b[k],str[i]);
			k++;
		}
	for(i=0;i<k;i++)
		for(j=0;j<k-i-1;j++)
			if(d[j]<d[j+1])
			{
				p=d[j+1];
				d[j+1]=d[j];
				d[j]=p;

				strcpy(c,b[j+1]);
				strcpy(b[j+1],b[j]);
				strcpy(b[j],c);

			}
	for(i=0;i<k;i++)
		printf("%s\n",b[i]);
	for(i=0;i<n;i++)
		if(a[i]<60)
			printf("%s\n",str[i]);
}
struct pati
{
	char ID[10];
	int age;
}p[100];
void main()
{
	int i,j,n,p2[100]={0},p3[100]={0},t=0,r=0,tem;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s %d",p[i].ID,&p[i].age);
		if(p[i].age>=60)
		{
			p2[t]=p[i].age;
			t++;
		}
	}
	for(i=0;i<t-1;i++)
		for(j=0;j<t-1-i;j++)
		{
			if(p2[j]<p2[j+1])
			{
				tem=p2[j+1];
				p2[j+1]=p2[j];
				p2[j]=tem;
			}
		}
	for(i=0;i<t;i++)
	{
		if(i>0)
		{
			if(p2[i]!=p2[i-1])
			{
				p3[r]=p2[i];
				r++;
			}
		}
		else
		{
			p3[r]=p2[i];
			r++;
		}
	}
	t=0;
	for(i=0;i<n;i++)
	{
		for(j=0;j<n;j++)
		{
			if(p[j].age==p3[t])
			{
				printf("%s\n",p[j].ID);
			}
		}
	t++;
	}
	for(i=0;i<n;i++)
		if(p[i].age<60)
			printf("%s\n",p[i].ID);
}
int main(){
	int sixty[100];
         	int n,i,j,a;
         struct patient{
	char num[11];
	int age;
         }peo[100];
	scanf("%d",&n);

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

	for(j=0;j<n-1;j++){
		for(i=n-1;i>j;i--){
			if(sixty[i-1]<sixty[i]){
				a=sixty[i-1];
				sixty[i-1]=sixty[i];
				sixty[i]=a;
				
			}
		}
	}
	
	for(i=0;i<n;i++){
		for(j=0;j<n;j++){
			if(sixty[i]==peo[j].age&&sixty[i]!=sixty[i-1]){      				printf("%s\n",peo[j].num);
			}                                                            			
		}
	}
	for(i=0;i<n;i++){
		if(peo[i].age<60){
			printf("%s\n",peo[i].num);
		}
	}
	

	return 0;
	
}
void main()
{
	int i,j=0,s,t,k=0,n;
	struct patient{
		char ID[10];
		int age;
	};
	struct patient p[100],d[100],c[100],temp;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s %d",p[i].ID,&p[i].age);
	}
	for(i=0;i<n;i++)
	{
		if(p[i].age>=60)
			d[j++]=p[i];
		else c[k++]=p[i];
	}
	s=j;
	t=k;
	for(i=1;i<s;i++)
	{
		for(j=0;j<s-i;j++)
		{
			if(d[j].age<d[j+1].age)
			{
				temp=d[j];
				d[j]=d[j+1];
				d[j+1]=temp;
			}
		}
	}
	for(i=0;i<s;i++)
	{
		printf("%s\n",d[i].ID);
	}
	for(i=0;i<t;i++)
		printf("%s\n",c[i].ID);
}
main()
{
      int n,i,j,f;
      int k=0;
      scanf("%d",&n);
      char a[100][2000],e[11];
      char d[100][2000];
      int b[100];
      int c[100];
      for(i=0;i<=n-1;i++)
        scanf("%s %d",a[i],&b[i]);
        for(i=0;i<n;i++)
        {
             if(b[i]>=60)
             {
             c[k]=b[i];
             strcpy(d[k],a[i]); 
             k++;
             }
        }
        for(j=k-2;j>=0;j--)
        {
           for(i=j;i<=k-2;i++)
            {
             if(c[i]<c[i+1])
             {
               strcpy(e,d[i]);
               strcpy(d[i],d[i+1]);
               strcpy(d[i+1],e);
               f=c[i];c[i]=c[i+1];c[i+1]=f;
             }
            }
         } 
          for(i=0;i<k;i++)      
                printf("%s\n",d[i]);
                k=0;
          for(i=0;i<n;i++)
          {
               if(b[i]<60)
                 {
                  
                  c[k]=b[i];
                  strcpy (d[k],a[i]);
                  k++;
                 } 
          }
           for(i=0;i<k;i++)      
                printf("%s\n",d[i]) ;
}
struct peo{
	char id[11];
	int age;
};

int main(){
	struct peo people[100];
	int sixty[100];

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

	scanf("%d",&n);

	for(i=0;i<n;i++){
		scanf("%s %d",people[i].id,&people[i].age);
		if(people[i].age>=60){
			sixty[i]=people[i].age;
			
			b+=1;
		}else{
			
			sixty[i]=0;
		}
	}

	for(k=0;k<n-1;k++){
		for(i=n-1;i>k;i--){
			if(sixty[i-1]<sixty[i]){
				e=sixty[i-1];
				sixty[i-1]=sixty[i];
				sixty[i]=e;
				
			}
		}
	}
	
	for(i=0;i<n;i++){
		for(j=0;j<n;j++){
			if(sixty[i]==people[j].age&&sixty[i]!=sixty[i-1]){
				printf("%s\n",people[j].id);
			}
			
		}
	}
	for(i=0;i<n;i++){
		if(people[i].age<60){
			printf("%s\n",people[i].id);
		}
	}
	

	return 0;
	
}
int main()
{
	char id[100][10],id1[100][10],t[10];
	int n,i,j,b,age[100],age1[100];
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%s",id[i]);
		scanf("%d",&age[i]);
		strcpy(id1[i],id[i]);
		age1[i]=age[i];
	}
	for(i=0;i<n-1;i++){
		for(j=0;j<n-i-1;j++){
			if(age1[j]<age1[j+1]){
				b=age1[j];
				age1[j]=age1[j+1];
				age1[j+1]=b;
				strcpy(t,id1[j]);
				strcpy(id1[j],id1[j+1]);
				strcpy(id1[j+1],t);
			}
		}
	}
	for(i=0;i<n;i++){
		if(age1[i]>=60)
			printf("%s\n",id1[i]);
	}
	for(i=0;i<n;i++){
		if(age[i]<60)
			printf("%s\n",id[i]);
	}
	return 0;
}
struct h{
	char name[11];
	int age;
};
void main(){
	int i,k,n;
	scanf("%d",&n);
	struct h p[100];
	for(i=0;i<n;i++){
		scanf("%s %d",p[i].name,&p[i].age);
	}
	for(k=100;k>59;k--){
		for(i=0;i<n;i++){
			if(k==p[i].age)
				printf("%s\n",p[i].name);
		}
	}
	for(i=0;i<n;i++){
		if(p[i].age<60)
			printf("%s\n",p[i].name);
	} 
}
void main()
{
   struct b
   {
	   char id[10];
	   int age;
   };
   int n,i,j,k;
   struct b a[100],temp,c[100];
   scanf("%d",&n);
   for(i=0;i<n;i++)
   scanf("%s %d",&a[i].id,&a[i].age);
   for(i=0,j=0;i<n;i++)
	   if(a[i].age>=60)
	   {
		   c[j]=a[i];
		   j++;
	   }
    for(i=j-1;i>=1;i--)
		for(k=j-1;k>j-i-1;k--)
			if(c[k].age>c[k-1].age)
			{
				temp=c[k];
				c[k]=c[k-1];
				c[k-1]=temp;
			}
			for(i=0;i<j;i++)
				printf("%s\n",c[i].id);
   for(i=0;i<n;i++)
	   if(a[i].age<60)
	   printf("%s\n",a[i].id);
}
main()
{
           char ID[N][L],IDup60[N][L],IDunder60[N][L],s[L];
           int b,h,i,j,k,l,m,max=0,n,o,p,q,t=0,u=0,YearOld[N],YearOldup60[N],id[N],idup60[N];
           scanf("%d",&n);
           for(h=0;h<n;h++)
           {
                 scanf("%s %d",ID[h],&YearOld[h]);
                 id[h]=0;
           }
           for(i=0;i<n;i++)
           {
                 for(j=0;ID[i][j]!='\0';j++)
                 {
                        id[i]=10*id[i];
                        id[i]=id[i]+(ID[i][j]-'0');
                 }
           }
           for(m=0;m<n;m++)
           {
                 if(YearOld[m]>max)
                 max=YearOld[m];
           }
           for(k=0;k<=max;k++)
           {
                 for(l=0;l<n;l++)
                 {
                        if(YearOld[l]==max-k&&max-k>=60)
                        {
                               YearOldup60[t]=YearOld[l];
                               idup60[t]=id[l];
                               strcpy(IDup60[t],ID[l]);
                               t++;
                        }
                }
          }
          for(b=0;b<n;b++)
          {
                if(YearOld[b]<60)
                {
                       strcpy(IDunder60[u],ID[b]);
                       u++;
                }
          }
          for(p=0;p<t;p++)
          {
                printf("%s\n",IDup60[p]);
          }
          for(q=0;q<u;q++)
          {
                printf("%s\n",IDunder60[q]);
          }
}
void main()
{
	int n,i,j=0,k=0,m,a[100],b[100],c[100];
	char p[100][30],q[100][30],r[100][30],s[1][30];
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%s %d",r[i],&a[i]);
	for(i=0;i<n;i++)
	{
		if(a[i]>=60)
		{
			strcpy(p[j],r[i]);
			b[j]=a[i];
			j++;
		}
		if(a[i]<60)
		{
			strcpy(q[k],r[i]);
			c[k]=a[i];
			k++;
		}
	}
	for(k=0;k<j-1;k++)
	{
			for(i=0;i<j-k-1;i++)
			if(b[i]<b[i+1])
			{
				m=b[i];
				b[i]=b[i+1];
				b[i+1]=m;
				strcpy(s,p[i]);
				strcpy(p[i],p[i+1]);
				strcpy(p[i+1],s);
			}
				
	}
	for(i=0;i<j;i++)
		printf("%s\n",p[i]);
	for(i=0;i<n-j;i++)
		printf("%s\n",q[i]);
}
struct patient{
	char id[10];
	int age;
};
int main(){
	int j,max,t=1,n,i;
	struct patient p[101];
	scanf("%d",&n);
	for (i=1;i<=n;i++)
		scanf("%s%d",p[i].id,&p[i].age);
	for (;t!=0;){
	max=59;t=0;
	for (i=1;i<=n;i++){
		if (p[i].age>max) {max=p[i].age; t=i;}
	}
	if (t!=0) printf("%s\n",p[t].id);
	p[t].age=0;
	}
	for (i=1;i<=n;i++)
		if (p[i].age!=0) printf("%s\n",p[i].id);
}
void main()
{
    struct p
    {
    	char num[11];
    	int age;
    };
    struct p c[101];
    int n,i,t=0,s,h,l=0;
    int a[100],b[100],d[100]={0};
    scanf("%d",&n);
    for(i=0;i<n;i++)
    scanf("%s%d",c[i].num,&c[i].age);
    for(i=0;i<n;i++)
    {
    	if(c[i].age>=60)
    	{
    		a[t]=c[i].age;
    		c[i].age=0;
    		b[t]=i;
    		t++;
    	}
    }
    if(t>0)
    {
    	leap:
        s=a[0];
        h=0;
        for(i=0;i<t;i++)
        {
        	if(a[i]>s)
        	{
        		s=a[i];
        		h=i;
        	}
        }
        printf("%s\n",c[b[h]].num);
        l++;
        a[h]=0;
        if(l<t)
        goto leap;
    }
    for(i=0;i<n;i++)
    {
    	if(c[i].age!=0)
    	printf("%s\n",c[i].num);
    }
}
struct info
{
	int num;
	char data[10];
	struct info*next;
	int tip;
};

struct info*create(int n)
{
	struct info *p1,*pre,*p2,*head,*tail;
	int i,t;
	head=(struct info*)malloc(sizeof(struct info));
	p1=(struct info*)malloc(sizeof(struct info));
	scanf("%s %d",p1->data,&p1->num);
	head->next=p1;
	p1->next=NULL;
	tail=p1;
	i=0;
	while(i<n-1)
	{
		t=0;
		p1=(struct info*)malloc(sizeof(struct info));
		scanf("%s %d",p1->data,&p1->num);
		p1->next=NULL;
		if(p1->num>=60)
		{
			for(pre=head,p2=head->next;p2!=NULL&&p2->num>=60;pre=pre->next,p2=p2->next)
			{
			if(p2->num<p1->num)
			{
				pre->next=p1;
				p1->next=p2;
			    t=1;
				break;
			}
			}
            if(t==0)
			{
			pre->next=p1;
		    p1->next=p2;
			if(p2==NULL)
			{tail=p1;}
			}
		}
		else
		{
			tail->next=p1;
			tail=p1;
		}
	i++;
	}
	return head;
}
void print(struct info *head)
{
	struct info *p;
	p=head->next;
	while(p!=NULL)
	{
		printf("%s\n",p->data);
	    p=p->next;
	}
}
int main()
{
	int n;
	struct info *head;
	scanf("%d",&n);
	head=create(n);
    print(head);
}
struct people
{char id[10];
int age;
}p[100];
void main()
{
	int n,i,a[100],b[100],j,k,m=0;
	char str[10];
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%s %d",&p[i].id,&p[i].age);
	for(i=0,j=0,k=0;i<n;i++)
	{
		if(p[i].age>=60)
		{
			a[j++]=i;
			m++;
		}
		else b[k++]=i;
	}
	for(i=0;i<m-1;i++)
		for(j=0;j<m-1-i;j++)
		{
			if(p[a[j]].age<p[a[j+1]].age)
			{
				int t=p[a[j]].age;
				p[a[j]].age=p[a[j+1]].age;
				p[a[j+1]].age=t;
				strcpy(str,p[a[j]].id);
                strcpy(p[a[j]].id,p[a[j+1]].id);
				strcpy(p[a[j+1]].id,str);
			}
		}
	if(m!=0)
	{
		printf("%s",p[a[0]].id);
	    for(i=1;i<m;i++)
			printf("\n%s",p[a[i]].id);
		for(i=0;i<n-m;i++)
			printf("\n%s",p[b[i]].id);
	}
	else
	{
		printf("%s",p[b[0]].id);
		for(i=1;i<n;i++)
			printf("\n%s",p[b[i]].id);
	}
}
struct patient
{
	char num[11];
	int age;
}sick[101];
int main()
{
	int n,i,j,k,r,s;
	s=0;
	r=0;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%s",sick[i].num);
		scanf("%d",&sick[i].age);
	}
	int old[101]={0};
	int young[101]={0};
	for(i=0;i<n;i++){
		if(sick[i].age>=60){
			for(j=0;j<=s;j++){
				if(sick[i].age>sick[old[j]].age||j==s){
					if(j==s){
						old[s]=i;
						s=s+1;
						break;
					}
					else{
						for(k=s;k>=j;k--){
							old[k+1]=old[k];
						}
						old[j]=i;
						s=s+1;
						break;
					}
				}
			}
		}
		else{
			young[r]=i;
			r=r+1;
		}
	}
	for(i=0;i<s;i++){
		printf("%s\n",sick[old[i]].num);
	}
	for(i=0;i<r;i++){
		printf("%s\n",sick[young[i]].num);
	}

	return 0;
}
struct pt
{
  char id[10];
  int age;
};

void main()
{
  int n,i,j,old;
  struct pt p[100],o[100],tem;
  char cao;
  scanf("%d",&n);
  scanf("%c",&cao);
  old=0;
  for(i=0;i<n;i++)
{ 

   scanf("%s %d",p[i].id,&p[i].age);
  if(p[i].age>=60) {o[old]=p[i];old++;}
}
for(i=0;i<old-1;i++)
{
  for(j=0;j<old-1;j++)
{
  if(o[j+1].age>o[j].age)
{
  tem=o[j];
  o[j]=o[j+1];
  o[j+1]=tem;
}
}
}
 for(i=0;i<old;i++) printf("%s\n",o[i].id);
 for(i=0;i<n;i++)
{
  if(p[i].age<60)
{
  printf("%s\n",p[i].id);
}
}


}
int main()
{
	int n,i,j,a[100],e;
	char s[100][100],str[100];
	scanf("%d\n",&n);
	for(i=0;i<n;i++){
		scanf("%s %d",s[i],&a[i]);
	}
	for(j=1;j<n;j++){
		for(i=0;i<n-j;i++){
			if(a[i]>=60&&a[i+1]>=60){
				if(a[i]>=a[i+1]){
					continue;
				}
				if(a[i]<a[i+1]){
					strcpy(str,s[i+1]);
					strcpy(s[i+1],s[i]);
strcpy(s[i],str);
					e=a[i+1];
					a[i+1]=a[i];
					a[i]=e;
				}
			}
			if(a[i]>=60&&a[i+1]<60){
				continue;
			}
			if(a[i]<60&&a[i+1]>=60){
			    strcpy(str,s[i+1]);
				strcpy(s[i+1],s[i]);
			    strcpy(s[i],str);
				e=a[i+1];
				a[i+1]=a[i];
				a[i]=e;
			}
			if(a[i]<60&&a[i+1]<60){
				continue;
			}
		}
	}
	for(i=0;i<n;i++){
		printf("%s\n",s[i]);
	}
	return 0;
}