semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
struct hospital
{
	char ID [13];
	int age;
	struct hospital *next;
};
int main()
{
	void change(struct hospital *);
	int n;
	scanf("%d",&n);
	int i;
	struct hospital *p,*head;
	p=(struct hospital *)malloc(sizeof(struct hospital));
	head=p;
	for(i=0;i<n-1;i++)
	{
		scanf("%s %d",p->ID,&p->age);
		p->next=(struct hospital *)malloc(sizeof(struct hospital));
		p=p->next;
	}
	scanf("%s %d",p->ID,&p->age);
    p->next=NULL;
	for(i=0;i<n;i++)
	{
	for(p=head;p->next!=NULL;p=p->next)
	{
		if(p->age<60&&p->next->age>=60)
		{
			change(p);
		}
		if(p->age>=60&&p->next->age>=60&&p->next->age>p->age)
		{
			change(p);
		}
	}
	}
	for(p=head;p!=NULL;p=p->next)
	{
		printf("%s\n",p->ID);
	}
	return 0;
}
void change(struct hospital *p)
{
	int tempage;
	char tempID[13];
	struct hospital *later=p->next;
	tempage=later->age;
	strcpy(tempID,later->ID);
	later->age=p->age;
	strcpy(later->ID,p->ID);
	p->age=tempage;
	strcpy(p->ID,tempID);
}
struct Patient{
	char id[10];
	int age,arranged;
	
};

int main()
{
	int n,i,t=0,j;
	struct Patient pai[100],orderd[100];
	cin>>n;
	for(i=0;i<n;i++)
	{
		cin>>pai[i].id>>pai[i].age;
		pai[i].arranged=0;
	}
	for(i=0;i<n;i++)
	{
		if(pai[i].age>=60)
		{
			orderd[t]=pai[i];
			pai[i].arranged =1;
			t++;
		}
	}
	for(i=0;i<t;i++)
	{
		for(j=0;j<t-1-i;j++)
		{
			if(orderd[j].age<orderd[j+1].age)
			{
				struct Patient temp=orderd[j];
				orderd[j]=orderd[j+1];
				orderd[j+1]=temp;
			}
		}
	}
 	for(i=0;i<n;i++)
	{
		if(pai[i].arranged==0)
		{
			orderd[t]=pai[i];
			t++;
		}
	}
	for(i=0;i<n;i++)
	{
		cout<<orderd[i].id<<endl ;
	}







	return 0;
}
main()
{
int i,k,j,l,n,w,max,old;
int q=0;
char d[101][10];
int a[101];
int b[101];
int c[101];
scanf("%d",&n);
old=0;
for(i=1;i<=n;i++)
scanf("%s %d",d[i],&a[i]);
for(i=1;i<=n;i++)
{
b[i]=0;
if(a[i]>=60)
{
b[i]=1;
old=old+1;
}
}



for(i=1;i<=old;i++)
{
max=0;
for(j=1;j<=n;j++)
{
if(b[j]==1) 
{
if(a[j]>max)
{
max=a[j];
w=j;
}
}
}
c[i]=w;
b[w]=2;
}
for(l=1;l<=old;l++)
{
q=c[l];
printf("%s\n",d[q]);
}
for(l=1;l<=n;l++)
{
if(b[l]==0)
printf("%s\n",d[l]);
}
getchar();
getchar();
getchar();
getchar();
}
void main()
{
	int n, age[100]={0}, i, j, k, old[101]={0}, oldn, youngn;
	char id[101][20]={0}, oldid[101][20]={0}, youngid[101][20]={0};
	scanf("%d",&n);
	for(i=1;i<=n;i++)
		scanf("%s%d",id[i],&age[i]);
	for(i=1,j=1,k=1;i<=n;i++)
	{
		if(age[i]>=60)
		{
			old[j]=age[i];
			strcpy(oldid[j],id[i]);
			j++;
		}
		else
		{
			strcpy(youngid[k],id[i]);
			k++;
		}
	}
	oldn=j;
	youngn=k;
	for(i=1;i<=oldn;i++)
	{
		for(j=1;j<=oldn-i;j++)
		{
			if(old[j]<old[j+1])
			{
				old[100]=old[j];
				old[j]=old[j+1];
				old[j+1]=old[100];
				strcpy(oldid[101],oldid[j]);
				strcpy(oldid[j],oldid[j+1]);
				strcpy(oldid[j+1],oldid[101]);
			}
		}
	}
	for(i=1;i<oldn;i++)
		printf("%s\n",oldid[i]);
	for(k=1;k<youngn;k++)
		printf("%s\n",youngid[k]);
}
int main()
{
	int n,i,j,age[100],e;
	char id[100][10],ex[10];
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%s %d",id[i],&age[i]);
	}
	for(i=n-1;i>0;i--){
		for(j=0;j<i;j++){
			if((age[j]<age[j+1]&&age[j]>=60)||(age[j]<age[j+1]&&age[j+1]>=60)){
				e=age[j];
				age[j]=age[j+1];
				age[j+1]=e;
				strcpy(ex,id[j]);
				strcpy(id[j],id[j+1]);
				strcpy(id[j+1],ex);

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

	return 0;
}
main()
{
   
    int n,b[100],d[100],j=0,k,l,t,i;
    scanf("%d",&n);
    char a[n][10],c[n][10];//??????? ???????????? 
    for(i=0;i<n;i++)
    scanf("%s %d",a[i],&b[i]);
    k=0;
    for (i=0;i<n;i++)
    {
        if(b[i]>=60)
        {
        d[k]=b[i];
        strcpy(c[k],a[i]);
        k++;
        }
    }
     l=k;//k??0?????????????????????????????k?1???????? 
     char r[10];//??????????? 
     for(k=0;k<l-1;k++)//??60??????? 
      {
                       for(j=0;j<l-1-k;j++)   
                       if(d[j]<d[j+1])//????????????????????????? 
                       {
                                      t=d[j];                
                                      d[j]=d[j+1];
                                      d[j+1]=t;
                                      strcpy(r,c[j]);
                                      strcpy(c[j],c[j+1]);
                                      strcpy(c[j+1],r);
                       }
      }
      for (j=0;j<l;j++)
      {
           printf("%s\n",c[j]);//?????????????? ???????? 
          }
      for(i=0;i<n;i++)//???????60??????????????ID 
      {
           if(b[i]<60)
           printf("%s\n",a[i]);
      }
      }
struct Inf
{
	char c[10];
	int a;
};
int main()
{
	int n,o=0,y=0,t,i,j;
	char temp[10];
	struct Inf inf[100],old[100],young[100];
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s%d",inf[i].c,&inf[i].a);
		if(inf[i].a>=60)
		{
			strcpy(old[o].c,inf[i].c);
			old[o].a=inf[i].a;
			o++;
		}
		else
		{
			strcpy(young[y].c,inf[i].c);
			young[y].a=inf[i].a;
			y++;
		}
	}
	for(j=1;j<o;j++)
	{
		for(i=0;i<o-j;i++)
		{
			if(old[i].a<old[i+1].a)
			{
				strcpy(temp,old[i].c);
				strcpy(old[i].c,old[i+1].c);
				strcpy(old[i+1].c,temp);
				t=old[i].a;
				old[i].a=old[i+1].a;
				old[i+1].a=t;
			}
		}
	}
	for(i=0;i<o;i++)
	{
		printf("%s\n",old[i].c);
	}
	for(i=0;i<y;i++)
	{
		printf("%s\n",young[i].c);
	}
	return 0;
}
int main()
{
	char id[100][10],a[10];
	int n,i,j;
	int age[100],b;
	scanf("%d ",&n);
	for(i=0;i<n;i++)
	{
		scanf(" %s %d",&id[i],&age[i]);
	}
	
	for(j=n-1;j>0;j--)
	{
		for(i=n-1;i>0;i--)
		{
			if(age[i]>=60&&age[i-1]>=60)
			{
				if(age[i]>age[i-1])
				{
					strcpy(a,id[i]);b=age[i];
					strcpy(id[i],id[i-1]);age[i]=age[i-1];
					strcpy(id[i-1],a);age[i-1]=b;
				}
			}
			if(age[i]>=60&&age[i-1]<60)
			{
					strcpy(a,id[i]);b=age[i];
					strcpy(id[i],id[i-1]);age[i]=age[i-1];
					strcpy(id[i-1],a);age[i-1]=b;
			}
		}
	}

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

	return 0;

}
struct patience
{
       int shunxu;
       char id[10];
       int age;
       } pa[100];
int main()
{
    int n,i,j,p=60,q=0;
    scanf("%d",&n);
    int a[n];
    int b[n],c[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>=60)
					 {
                                       q++;
                                       }
                     }
    do{
    for(i=0;i<n;i++)
	{
                     if(pa[i].age>=p)
					 {
                                      p=pa[i].age;
                                      }
                     }
    for(i=0;i<n;i++)
	{
                     if(pa[i].age==p){
                                      printf("%s\n",pa[i].id);
                                      pa[i].age=0;
                                      }
                     }
    p=60;
    q--;
    }
	while(q>0); 
    for(i=0;i<n;i++)
	{
                     if(pa[i].age<60 && pa[i].age>0){
                                     printf("%s\n",pa[i].id);
                                     }
                                     }
    return 0;
}
int main()
{
	struct patient{
		char ID[10];int a;
	}p[100],pr;
	int np,i,k;
	scanf("%d",&np);
	for(i=0;i<np;i++){
		scanf("%s %d",p[i].ID,&p[i].a);
	}
	for(i=0;i<np;i++){
		for(k=np-1;k>i;k--){
			if(p[k].a>p[k-1].a&&p[k].a>=60){
				pr=p[k];p[k]=p[k-1];p[k-1]=pr;
			}
		}
		printf("%s\n",p[i].ID);
	}
	return 0;
}
struct pat
{
	char num[11];
	int age;
	struct pat *next;
};
void main()
{
	int n,i;
	scanf("%d",&n);
	struct pat *head,*p1,*p2,*pre;
	p1=(struct pat *)malloc(sizeof(struct pat));
	scanf("%s %d",p1->num,&p1->age);
	head=p1;
	p1->next=NULL;
	for(i=1;i<n;i++)
	{
		p1=(struct pat *)malloc(sizeof(struct pat));
	    scanf("%s %d",p1->num,&p1->age);
		if(p1->age<60)
		{
			p2=head;
			while(p2)
			{
				if(p2->next==NULL) 
				{
					p2->next=p1;p1->next=NULL;break;
				}
				p2=p2->next;
			}
		}
		else if(p1->age>=60)
		{p2=head;
		while(p2)
		{	
			if(p2==head&&p1->age>p2->age)
			{
				head=p1;p1->next=p2;break;
			}
			else if(p1->age>p2->age)
			{
				pre->next=p1;p1->next=p2;break;
			}
			else if(p2->next==NULL)
			{
				p2->next=p1;p1->next=NULL;break;
			}
			else {pre=p2;p2=p2->next;}
		}
		}
	}
	p1=head;
	while(p1)
	{
		printf("%s\n",p1->num);
		p1=p1->next;
	}
		
}
main()
{
	int i,n,a[100],j;
	struct patient
	{
		char id[10];
		int age;
	}
	s[100];
	
	scanf("%d",&n);
    for (i=0;i<n;i++)
	{
		scanf("%s%d",s[i].id,&s[i].age);
    }
	while (1)
	{
		int max=0;
		for (i=0;i<n;i++)
	{
		if (s[i].age>s[max].age)
			max=i;
    }
	if (s[max].age>=60)
	{
		printf("%s\n",s[max].id);
        s[max].age=0;
	}
	else break;
	}
	for (i=0;i<n;i++)
	if (s[i].age>0)
		printf("%s\n",s[i].id);
	
}
struct patient
{ char id[11];
  int age,seq;
  struct patient *next;
};
main()
{  int n,n1=0,n2=0,i,j,m,at;
   char id[10];
   struct patient *head1,*head2,*p11,*p12,*p21,*p22,*t,*q;
   scanf("%d",&n);
   head1=NULL;
   head2=NULL;
   for(i=0;i<n;i++)
   {
     scanf("%s%d",id,&at);
     if(at>=60)
     {  if(head1==NULL)
	{
         head1=(struct patient*)malloc(sizeof(struct patient));
	 strcpy(head1->id,id);
	 head1->age=at;
         head1->next=NULL;
	}
	else
	{  p11=(struct patient *)malloc(sizeof(struct patient));
	      p11->age=at;
	      strcpy(p11->id,id);
           for(t=head1,q=t;t!=NULL;q=t,t=t->next)
	  {  if(t->age<at&&t!=head1)
	     {
              q->next=p11;
	      p11->next=t;
              break;
	     }
	     if(t->age<at&&t==head1)
	     {
              
              p11->next=head1;
	      head1=p11;
	      break;
	     }
	   }
	  if(t==NULL)
          {
            q->next=p11;
            p11->next=NULL;
          }
	}
     }

     if(at<60)
     {  if(head2==NULL)
	{
         head2=(struct patient*)malloc(sizeof(struct patient));
	 strcpy(head2->id,id);
	 head2->age=at;
	 head2->next=NULL;
	 p22=head2;
	}
        else
       {
          p21=(struct patient *)malloc(sizeof(struct patient));
          p21->age=at;
	  strcpy(p21->id,id);
          p22->next=p21;
          p21->next=NULL;
          p22=p21;
       }
     }
   }

   for(t=head1,q=t;t!=NULL;q=t,t=t->next);
   q->next=head2;
   for(t=head1;t->next!=NULL;t=t->next)
    printf("%s\n",t->id);
   printf("%s",t->id);
}
main()
{
    int n,i;
    scanf("%d",&n);
    char ID[n][10];
    int age[n];
    for(i=0;i<=n-1;i++)
    {
      scanf("%s %d",ID[i],&age[i]);
    }
    char ID2[n][10];
    int b[n];
    int j=0,t,k;
    for(i=0;i<=n-1;i++)
    {
     if(age[i]>=60)
     {
     b[j]=age[i];
     strcpy(ID2[j],ID[i]);
     j++;
     }
    }
    char c[10];
    for(k=0;k<j-1;k++)
    {
     for(i=0;i<j-1-k;i++) 
     {
        if(b[i]<b[i+1])
      {
       t=b[i];
       b[i]=b[i+1];
       b[i+1]=t;
       strcpy(c,ID2[i]);
       strcpy(ID2[i],ID2[i+1]);
       strcpy(ID2[i+1],c);
       }
      }
     }
     for(i=0;i<=j-1;i++)
     printf("%s\n",ID2[i]);
     char ID3[n][10];
     int m=0;
     for(i=0;i<n;i++)
     {
      if(age[i]<60)
      {
       strcpy(ID3[m],ID[i]);
       m++;
       }
      }
      for(i=0;i<=m-1;i++)
      printf("%s\n",ID3[i]);
              }
main()
{
  int i,j,k,l,m,n;
  char id[200][200];
  int age[100];
  scanf("%d",&n);
  for(i=0;i<n;i++)
  {
   scanf("%s %d",id[i],&age[i]);
   }
   for(j=200;j>=60;j--)
   {
      for(i=0;i<n;i++)             
      { if(age[i]==j)
        printf("%s\n",id[i]);}
   }
   for(i=0;i<n;i++)
    if(age[i]<60)
     printf("%s\n",id[i]);
   getchar();
   getchar();
}
int main(){
int n,i,t,k;
scanf("%d",&n);
char a[100][10],c[11];
int b[100];
for(i=0;i<n;i++){
scanf("%s %d",a[i],&b[i]);
if(b[i]<60){
 b[i]=0;
}
}
for(k=1;k<=n;k++){
for(i=0;i<n-k;i++){
 if(b[i]<b[i+1]){
   t=b[i];
   b[i]=b[i+1];
   b[i+1]=t;
   strcpy(c, a[i]);
   strcpy(a[i], a[i+1]);
   strcpy(a[i+1], c);
}
}
}
for(i=0;i<n;i++){
printf("%s\n",a[i]);
}
return 0;
}
int main()
{
    int n,i,y,x=0;
	struct ID {
		int age;
		char a[10];
	}ID[201];
	scanf("%d",&n);
    for(i=0;i<n;i++){
		scanf("%s",ID[i].a);
		scanf("%d",&ID[i].age);
	}
	for(i=0;i<n;i++){
		if(ID[i].age>=60){
			ID[100+x]=ID[i];
			ID[i].a[0]='\0';
            x++;
		}
	}
	for(i=0;i<x-1;i++){
		for(y=0;y<x-1-i;y++){
			if(ID[100+y].age<ID[y+101].age){
				ID[200]=ID[100+y];
				ID[100+y]=ID[y+101];
				ID[y+101]=ID[200];
			}
		}
	}
	for(i=0;i<x;i++){
		printf("%s\n",ID[100+i].a);
	}
	for(i=0;i<n;i++){
		if(ID[i].a[0]!='\0')
			printf("%s\n",ID[i].a);
	}


	return 0;
}
int main()
{
	int n,i,j,k,b[100]={0},c[100]={0},d[100]={0},e[100]={0};
	char a[100][100];
	for(i=0;i<100;i++)
	{
		b[i]=i;
	}
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s %d",&a[i],&c[i]);
		if(c[i]>59)
		{
			d[i]=c[i];
		}
		else
		{
			e[i]=c[i];
		}
	}
		for(i=0;i<n;i++)
		{
			for(j=0;j<n-1;j++)
			{
				if(d[b[j]]<d[b[j+1]])
				{
					k=b[j];
					b[j]=b[j+1];
					b[j+1]=k;
				}
			}
		}
	
		for(i=0;i<n;i++)
		{
			if(d[b[i]]>0)
			{
				printf("%s\n",a[b[i]]);
			}
			else
			{
				break;
			}
		}
		for(i=0;i<n;i++)
		{
			if(e[i]!=0)
			{
				printf("%s\n",a[i]);
			}
		}
		return 0;
}
struct people
{
	int order;
	char ID[10];
    int age;
}per[100];
struct old
{
	int orders;
	char IDs[10];
	int ages;
}elder[100];
int main()
{
	int n,i,j,t,m,q,r;
	char p[10];
	int b[100],c[100];
    scanf("%d",&n);
	for(i=0;i<=(n-1);i++)
	{
		per[i].order=i;
		scanf("%s %d",per[i].ID,&per[i].age);
		b[i]=strlen(per[i].ID);
	}
	t=0;
	for(i=0;i<=(n-1);i++)
	{
        if(per[i].age>=60)
		{
			elder[t].orders=t;
			strcpy(elder[t].IDs,per[i].ID);
			elder[t].ages=per[i].age;
			t=t+1;
			per[i].age=(-1);
		}
	}
    for(i=0;i<=(t-1);i++)
	{
		for(j=0;j<=(t-i-1);j++)
		{
			if(elder[j].ages<elder[j+1].ages)
			{
				m=elder[j].ages;
				strcpy(p,elder[j].IDs);
				q=elder[j].orders;
				strcpy(elder[j].IDs,elder[j+1].IDs);
				elder[j].ages=elder[j+1].ages;
				elder[j].orders=elder[j+1].orders;
				elder[j+1].ages=m;
				strcpy(elder[j+1].IDs,p);
				elder[j+1].orders=q;
			}
		}
	}
	for(i=0;i<=(t-1);i++)
	{
       for(j=0;j<=(t-1-j);j++)
	   {
		   if(elder[j].ages==elder[j+1].ages)
		   {
			   if(elder[j].orders>elder[j+1].orders)
			   {
				    m=elder[j].ages;
			    	strcpy(p,elder[j].IDs);
			    	q=elder[j].orders;
			    	strcpy(elder[j].IDs,elder[j+1].IDs);
			    	elder[j].ages=elder[j+1].ages;
			    	elder[j].orders=elder[j+1].orders;
			    	elder[j+1].ages=m;
			     	strcpy(elder[j+1].IDs,p);
			    	elder[j+1].orders=q;
			   }
		   }
	   }
	}
    for(i=0;i<=(t-1);i++)
	{
         printf("%s\n",elder[i].IDs);
	}
	for(i=0;i<=(n-1);i++)
	{
		if(per[i].age!=(-1))
		{
			printf("%s\n",per[i].ID);
		}
	}
	return 0;  
}
void main(int argc, char* argv[])
{
struct student
{
    char ID[10];
	int age;
} stu[100],stud[100];
    int a[100],b[100],i,c,j,x,n;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%s",&stu[i].ID);
        scanf("%d",&stu[i].age);
	}
	int k=0;
    for(i=0;i<n;i++){
		if(stu[i].age>=60){a[k]=stu[i].age;b[k]=i;k++;}
	}
	for(i=0;i<k;i++){
		for(j=0;j<k;j++){
			if(a[j]<a[j+1]){x=a[j];a[j]=a[j+1];a[j+1]=x;x=b[j];b[j]=b[j+1];b[j+1]=x;}
		}
	}
	for(i=0;i<k;i++){
		c=b[i];
	   printf("%s\n",stu[c].ID);
	}
	for(i=0;i<n;i++){
		if(stu[i].age<60){printf("%s\n",stu[i].ID);}   
	}
}
int main()
{
    int n;
    int p,q;
    scanf("%d", &n);
    struct patient{
           char id[20];
           int age;
           }pa1[100],pa2[100],t;
    int i;
    for(i=0;i<n;i++)
    {
                    scanf("%s%d", pa1[i].id, &pa1[i].age);
    }
     for(i=0;i<n;i++)
    {
                   strcpy(pa2[i].id,pa1[i].id);
                   pa2[i].age=pa1[i].age;
    }
    
 
    
    
    
    for(p=1;p<n;p++)
    {
                    for(q=0;q<n-p;q++)
                    {
                            if(pa1[q].age>pa1[q+1].age)
                            {
                                        t=pa1[q];
                                        pa1[q]=pa1[q+1];
                                        pa1[q+1]=t;
                            }
                    }
    }
    
   
    
    
    
    
    int a[1000];
    int s=0,h;
    for(p=n-1;p>=0;p--)
    {
                       if(pa1[p].age>=60)
                       {
                            a[s]=pa1[p].age;  
                            s++;          
                       }
    }
     
    for(h=0;h<s;h++)
    {
                    for(p=h+1;p<s;p++)
                    {
                                      if(a[p]==a[h])
                                      {
                                                    a[p]=0;
                                      }
                    }
    }
      
      
      
      
      
      
      
      for(h=0;h<s;h++)
      {               
                    for(p=0;p<n;p++)
                    {
                              if(pa2[p].age==a[h])
                              {
                                        printf("%s\n", pa2[p].id);
                              }
                    }
      }
                    
                    
                    
                    
                    
    for(p=0;p<n;p++)
    {
                    if(pa2[p].age<60)
                    {
                                     printf("%s\n", pa2[p].id);
                    }
    }
  
    return 0;
}
int main()
{
 int n,i,j,s=0,e,z=0;
 int a[100],c[100],x[100];
 char b[100][10],d[100][10],y[100][10];
 char f[100][10];
 scanf("%d",&n);
 for(i=0;i<n;i++){
	 scanf("%s %d",b[i],&a[i]);
 }
 for(i=0;i<n;i++){
  if(a[i]>=60){
           c[s]=a[i];
    strcpy(d[s],b[i]);
    s++;
  }else{
         x[z]=a[i];
    strcpy(y[z],b[i]);
    z++;
  }
 }
 for(i=0;i<s;i++){
  for(j=1;j<s-i;j++){
   if(c[j-1]<c[j]){
   e=c[j];
   c[j]=c[j-1];
   c[j-1]=e;
   strcpy(f[j],d[j]);
         strcpy(d[j],d[j-1]);
   strcpy(d[j-1],f[j]);
   }
  }
 }
 for(i=0;i<s;i++){
        printf("%s\n",d[i]);
 }
 for(i=0;i<z;i++){
        printf("%s\n",y[i]);
 }
 return 0;
}
struct Patient
{
       char id[10];
       int age;
       int num;
}patient[100];
int main ()
{
    int n;
    int a,b,c;
    scanf ("%d", &n);
    int i,j,k=0;
    for (i=0;i<=n-1;i++)
    {
        scanf ("%s %d", &patient[i].id, &patient[i].age);
        patient[i].num = i;
    }
    int s[100];
    for (i=0;i<=99;i++)
    {
        s[i]=i;
    }
    for (i=0;i<=n-2;i++)
    {
        for (j=0;j<=n-2;j++)
        {
            if (patient[s[j]].age<patient[s[j+1]].age)
            {
                                                a=s[j];
                                                s[j]=s[j+1];
                                                s[j+1]=a;
            }
        }
    }
    for (i=0;i<=n-1;i++)
    {
        if (patient[i].age>=60)
        k=k+1;
    }
    for (i=0;i<=k-2;i++)
    {
        for (j=0;j<=k-2;j++)
        {
            if (s[j]>s[j+1] && patient[s[j]].age==patient[s[j+1]].age)
            {
                                                a=s[j];
                                                s[j]=s[j+1];
                                                s[j+1]=a;                                                
            }
        }
    }
    
    for (i=k;i<=n-2;i++)
    {
        for (j=k;j<=n-2;j++)
        {
            if (s[j]>s[j+1])
            {
                            a=s[j];
                            s[j]=s[j+1];
                            s[j+1]=a;
            }
        }
    }
    
    for (i=0;i<=n-1;i++)
    {
        printf ("%s\n", patient[s[i]].id);
    }
    
    return 0;
}
int main()
{
	int n;
	int i,j;
	scanf("%d",&n);
	char bh[999][999];
	int nl[999];
	for(i=1;i<=n;i++)
	{
		scanf("%s %d",bh[i],&nl[i]);
	}
	int pd[999],k=0;
	for(i=1;i<=n;i++)
	{
		if(nl[i]>=60)
		{
			k++;
			pd[k]=i;
		}
	}
	int e;
	for(i=1;i<k;i++)
	{
		for(j=1;j<=k-i;j++)
		{
			if (nl[pd[j]]<nl[pd[j+1]])
			{
				e=pd[j+1];
				pd[j+1]=pd[j];
				pd[j]=e;
			}
		}
	}
	for(i=1;i<=n;i++)
	{
		if(nl[i]<60)
		{
			k++;
			pd[k]=i;
		}
	}
	for(i=1;i<=k;i++)
	{
		printf("%s\n",bh[pd[i]]);
	}
	return 0;
}
int main()
{
    struct br
	{
		char id[10];
		int age;
	} *patients,t;
	int n,i,j;
	scanf("%d",&n);
	patients=(struct br *)malloc(sizeof(struct br)*n);
	
    for (i=0; i<n; i++) {
        scanf("%s%d", patients[i].id, &patients[i].age);
    }
	for (i=0; i<n; i++) {
        for (j=n-1; j>i; j--) {
            if (patients[j].age >= 60 &&
                patients[j].age > patients[j-1].age) {
                t = patients[j];
                patients[j] = patients[j-1];
                patients[j-1] = t;
            }
        }
    }

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

    return 0;
}
struct myturn
{
	char ID[10];	int age;
};

int main()
{
	int n,i,j=0,max=0;
	struct myturn patient[100];
	scanf("%d",&n);			//	???????
	for(i=0;i<n;i++){
		scanf("%s%d",&patient[i].ID,&patient[i].age);
		if(patient[i].age>max) max=patient[i].age;			//	?????????
	}
	if(max>=60){		 // ??????max??????????
		for(max;max>=60;max--){
			for(i=0;i<n;i++){                    
				if(patient[i].age==max) {
					printf("%s\n",patient[i].ID);			//???????????0???flag?
					patient[i].age=0; j++;}	}	}	}
	for(i=0;i<n;i++){		// ??????ID?
		if(patient[i].age!=0){ printf("%s",patient[i].ID);
		j++;
		if(j<n) printf("\n");}
	}
	return 0;
}
int main(){
    struct old{
        char ID[10];
        int age;
    };
    struct old ill[100];
    struct old t1[100];
    struct old t2[100];
    struct old t;
    int n,i,j=0,k=0,num60=0,num0=0,b[100]={0},p,num=0;
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%s",ill[i].ID);
        scanf("%d",&ill[i].age);
        if(ill[i].age>=60){
            t1[j]=ill[i];
            j++;
            num60++;
        }
        else{
            t2[k]=ill[i];
            k++;
            num0++;
        }
    }
    for(i=0;i<num60;i++){
        p=0;
        for(j=0;j<num60;j++){
            if(t1[j].age>p&&b[j]==0){
                p=t1[j].age;
                num=j;
            }
        }
        printf("%s\n",t1[num].ID);
        b[num]=1;
    }
    for(i=0;i<num0;i++){
        printf("%s\n",t2[i].ID);
    }
    return 0;
}
int main()
{
	int n,i,m=0,r=0,e,j;
	char id[100][10],a[100][10],b[100][10],c[100];
	int nl[100],am[100];
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%s %d",id[i],&nl[i]);
	}
	for(i=0;i<n;i++){
		if(nl[i]>=60){
			strcpy(a[m],id[i]);
			am[m]=nl[i];
			m++;
		}
		else{
			strcpy(b[r],id[i]);

			r++;
		}
	}
	for(i=m-1;i>0;i--){
		for(j=0;j<i;j++){
			if(am[j]<am[j+1]){
				e=am[j+1];
				am[j+1]=am[j];
				am[j]=e;
				strcpy(c,a[j+1]);
				strcpy(a[j+1],a[j]);
				strcpy(a[j],c);
			}
		}
	}
	for(i=0;i<m;i++){
		puts(a[i]);
	}
	for(i=0;i<r;i++){
		puts(b[i]);
	}
	return 0;
}
int main(){
	int n,i,age[100];
	char id[100][10];
	scanf("%d",&n);
	for (i=0;i<n;i++){
		scanf("%s%d",id[i],&(age[i]));
	}
	int e;
	char e_id[10];
	for(int k=1;k<=n;k++){
		for (int m=0;m<n-k;m++){
			if((age[m]>=60&&age[m+1]>=60&&age[m]<age[m+1])||(age[m]<60&&age[m+1]>=60)){
				e=age[m+1];
				strcpy(e_id,id[m+1]);
				age[m+1]=age[m];
				strcpy(id[m+1],id[m]);
				age[m]=e;
				strcpy(id[m],e_id);
			}
		}
	}
	for(i=0;i<n;i++){
		printf("%s\n",id[i]);
	}
	return 0;
}
struct patient
{
	char id[10];
	int old;
} pt[100];

main()
{
	int n,i,j,k,e,h;
	int yx[100],byx[100];
	scanf("%d",&n);

	j=0;
	k=0;
	for(i=0;i<n;i++){
		scanf("%s %d",&pt[i].id,&pt[i].old);
		if(pt[i].old>=60){
			yx[j]=i;
			j++;
		}
		else{
			byx[k]=i;
			k++;
		}

	}

	for(i=0;i<j;i++){
		for(h=0;h<j-1;h++){
			if(pt[yx[h]].old<pt[yx[h+1]].old){
				e=yx[h];
				yx[h]=yx[h+1];
				yx[h+1]=e;
			}
		}
	}

	for(i=0;i<j;i++){
		printf("%s\n",pt[yx[i]].id);
	}
	for(i=0;i<k;i++){
		printf("%s\n",pt[byx[i]].id);
	}
}
int main(){
   char id[100][10];
   int n,age[100],i,k=0,m,len,p;
   scanf("%d",&n);
   for(i=0;i<n;i++){
       scanf("%s %d",&(id[i]),&(age[i]));
   }
   char e[100][10],kong[10];
   int xin[100];
   for(i=0;i<n;i++){
       if(age[i]>59){
           xin[k]=age[i];
           strcpy(e[k],id[i]);
           k++;
       }
   }
   len=k;
   for(m=1;m<=len;m++){
       for(k=0;k<len-m;k++){
            if(xin[k]<xin[k+1]){
                  p=xin[k];strcpy(kong,e[k]);
                  xin[k]=xin[k+1];strcpy(e[k],e[k+1]);
                  xin[k+1]=p;strcpy(e[k+1],kong);
            }
        }
    }
    for(k=0;k<len;k++){
         printf("%s\n",e[k]);
    }
    for(i=0;i<n;i++){
       if(age[i]<60){
          printf("%s\n",id[i]);
       }
    }
return 0;
   }