semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
    char string[100][100];
    int age[100];
    int age1[100];
    int a[100];
    int max,n,l,i,j,k,x;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    scanf("%s %d",string[i],&age[i]);
       j=0;
       for(i=0;i<n;i++)
       {
                        if(age[i]>=60)
                        {
                                      age1[j]=age[i];
                                      age[i]=0;
                                      a[j]=i;
                                      j++;
                                      }
                                      }
                                      for(i=0;i<j;i++)
                                      {
                                                      max=0;
                                                      x=0;
                                                      for(k=0;k<j;k++)
                                                      {
                                                                      if(max<age1[k])
                                                                      {
                                                                                     max=age1[k];
                                                                                     x=k;
                                                                                     }
                                                                                     }
                                                                                     printf("%s\n",string[a[x]]);
                                                                                     age1[x]=0;
                                                                                     }
                                    for(i=0;i<n;i++)
                                      if(age[i]!=0)
                                      printf("%s\n",string[i]);                                                 
                                                                                     
                                      
                                      
                         
                   
                     
     
     getchar();
     getchar();
     }
int main()
{
	int a[100],b[100],c[100],n,i,j,lao=0,you=0,t;
	char e[100][10],f[100][10],g[100][10],s[10];
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%s%d",e[i],&a[i]);
	for(i=0;i<n;i++)
	{
		if(a[i]>=60)
		{
			b[lao]=a[i];
			strcpy(f[lao],e[i]);
			lao++;
		}
		else
		{
			c[you]=a[i];
			strcpy(g[you],e[i]);
			you++;
		}
	}
	for(j=0;j<lao-1;j++)
	{
		for(i=0;i<lao-1;i++)
		{
			if(b[i]<b[i+1])
			{
				t=b[i];
				b[i]=b[i+1];
				b[i+1]=t;
				strcpy(s,f[i]);
				strcpy(f[i],f[i+1]);
				strcpy(f[i+1],s);
			}
		}
	}
	for(i=0;i<lao;i++)
		printf("%s\n",f[i]);
	for(i=0;i<you;i++)
		printf("%s\n",g[i]);
	return 0;
}
int main()
{
       char s[100][10];
       int n,z[100];
       scanf("%d",&n);
       for(int i=0;i<n;i++)
       {
             scanf("%s%d",s[i],&z[i]);
       }
       for(int j=120;j>=60;j--)
       {
             for(int t=0;t<n;t++)
             {
                    if(z[t]==j)
                    {  
                          printf("%s\n",s[t]);
                          z[t]=0;
                     }
              }
        }
        for(int m=0;m<n;m++)
        {
              if(z[m]!=0)
                  printf("%s\n",s[m]);
        }
        return 0;
}
int main()
{
	int n,i,j;
	scanf("%d",&n);
	struct point
	{
		char id[10];
		int age;
	}
	points[100],news[100],tmp;
	for(i=0;i<n;i++)
	{
		scanf("%s %d",&points[i].id,&points[i].age);
	}
	for(i=n-1;i>=0;i--)
	{
		for(j=0;j<i;j++)
		{
			if(points[j+1].age>=60&&points[j+1].age>points[j].age)
			{
				tmp=points[j+1];
				points[j+1]=points[j];
				points[j]=tmp;
			}
		}
	}
	
	for(i=0;i<n;i++)
	{
		printf("%s\n",points[i].id);
	}
	return 0;
}
struct data
{
char id[11];
int age;
struct data *next;
};

void main ()
{
	int i,n,k=0;
	struct data *p1,*p2,*head;
	struct data * sort( struct data *head,int n);
	void print(struct data *head);
	scanf ("%d",&n);
	head=p1=p2=(struct data *)malloc(LEN);
	head->next=NULL;
	for (i=0;i<n;i++)
	{
		p1=(struct data *)malloc(LEN);
		scanf ("%s %d",p1->id,&p1->age);
		if ((p1->age)>=60)
			k++;
		p2->next=p1;
		p2=p1;
	}
	p2->next=NULL;

	for (i=n;i>n-k;i--)
	{
		head=sort(head,i);
	}
	print(head);
}

struct data * sort(struct data *head,int n)
{
	int max=59,i;
	struct data *p1,*p2,*code,*pre;
	p2=head;
	p1=head->next;
	for (i=0;i<n;i++)
	{
		if ((p1->age)>max)
		{
			max=p1->age;
			code=p1;
			pre=p2;
		}
		p1=p1->next;
		p2=p2->next;
	}
	printf("%s\n",code->id);

	if (pre==head)
		head->next=code->next;
	else
		pre->next=code->next;
	free(code);
	return (head);
}

void print(struct data *head)
{
	struct data *p;
	p=head->next;
	do
	{
		printf ("%s\n",p->id);
		p=p->next;
	}
	while (p!=NULL);
}
int main()
{
	int n;
	struct ren
	{
		char id[10];
		int age;
	} p[100];
	struct ren t;
	int i,j;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s %d",p[i].id,&p[i].age);
	}
	for(i=0;i<n-1;i++)
	{
		for(j=0;j<n-1-i;j++)
		{
			if(p[j].age<p[j+1].age && p[j+1].age>=60)
			{
				t=p[j];
				p[j]=p[j+1];
				p[j+1]=t;
			}
		}
	}
	for(i=0;i<n;i++)
	printf("%s\n",p[i].id);
	
	return 0;
}
struct person
{
	char id[20];
	int y;
};
void main()
{
	int n,i,j,m=0,k=0;
	struct person t,*s,o[1000],y[1000];
	scanf("%d",&n);
	s=(struct person *)malloc(n*sizeof(struct person));
	for(i=0;i<n;i++)
	scanf("%s %d",s[i].id,&s[i].y);
	for(i=0;i<n;i++)
		if (s[i].y>=60)  {o[k]=s[i];k++;}
		else {y[m]=s[i];m++;}
	for(i=0;i<k;i++)
	{for(j=0;j<k-i;j++)
			if (o[j].y<o[j+1].y) {t=o[j];o[j]=o[j+1];o[j+1]=t;}

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

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

}
struct huanzhe
{char id[11];
int age;
}sick[110];
int panduan(int *p1,int *p2,int a,int b);
void paixu(int *p3,int *p4,int c);
int main(int argc, char* argv[])
{
	int n,i,pan;
	int ji[110]={1};
	int zhangzhe[110];
	int *pointer1,*pointer2;
	pointer1=ji;
	pointer2=zhangzhe;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%s %d",&sick[i].id,&sick[i].age);	
	}
	for(i=0;i<n;i++){
		pan=panduan(pointer1,pointer2,sick[i].age,i);
		if(pan){sick[i].age=0;}
	}
	paixu(pointer1,pointer2,ji[0]);
	for(i=1;i<ji[0];i++){
		printf("%s\n",&sick[ji[i]].id);
	}
	for(i=0;i<n;i++){
		if(sick[i].age==0){
			continue;
		}
		printf("%s\n",sick[i].id);
	}
	return 0;
}
int panduan(int *p1,int *p2,int a,int b){
	int jieguo=0;
	if(a>=60){
		*(p1+*p1)=b;
		*(p2+*p1)=a;
		(*p1)++;
		jieguo=1;
	}
	return(jieguo);
}
void paixu(int *p3,int *p4,int c){
	int j,k,temp;
	for(j=0;j<c;j++){
		for(k=1;k<c-1;k++){
			if(*(p4+k)<*(p4+k+1)){
				bian(p3);
				bian(p4);
			}
		}			
	}

}
struct pat{
	char ID[10];
	int age;
};

int  main() 
{
	int n,i;
	scanf("%d",&n);
	struct pat * p[100];
	struct pat * old[100];
	struct pat * young[100],*temp;

	for(i=0;i<n;i++){
		p[i]=(struct pat*)malloc(len);
		scanf("%s %d",p[i]->ID,&p[i]->age);
	}
	int k=0,j=0;
	for(i=0;i<n;i++){
		if(p[i]->age>=60){
			old[k]=p[i];
			k++;
		}
		else{
			young[j]=p[i];
			j++;
		}
	}
	int lenold=k,lenyoung=j;
	for(k=1;k<lenold;k++){
		for(i=0;i<lenold-k;i++){
			if(old[i]->age<old[i+1]->age){
				temp=old[i];
				old[i]=old[i+1];
				old[i+1]=temp;
			}
		}
	}
	for(i=0;i<lenold;i++){
		printf("%s\n",old[i]->ID);
	}
	for(i=0;i<lenyoung;i++){
		printf("%s\n",young[i]->ID);
	}

	return 0;

}
int main (){
	int a[100],e[100],f[100];
	char c[100][100],b[100][100],d[100][100],x[100];
	int n,p=-1,q=-1,k,z,i;
	scanf("%d",&n);
	for (i=0;i<n;i++){
		scanf("%s %d",c[i],&a[i]);
		if(a[i]>=60){
			p++;
			e[p]=a[i];
			strcpy(b[p],c[i]);
		}
		if(a[i]<60){
			q++;
			f[q]=a[i];
			strcpy(d[q],c[i]);
		}
	}

for (k=1;k<=p+1;k++){
		for (i=0;i<p+1-k;i++){
			if(e[i]<e[i+1]){
				z=e[i];
				e[i]=e[i+1];
				e[i+1]=z;
			strcpy(	x,b[i]);
			strcpy(	b[i],b[i+1]);
			strcpy(	b[i+1],x);
			}

		}
	}
for(i=0;i<=p;i++){
	puts(b[i]);
}
for(i=0;i<=q;i++){
	puts(d[i]);
}

	return 0;
}
int main()
{
    int n,i,j=0,k=0,a,e,f,b;
    char id[N][11],ido[N][11],idy[N][11],m[11];
    int nl[N],nlo[N];
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%s %d",id[i],&nl[i]);
        if(nl[i]<60)
        {
            strcpy(idy[j],id[i]);
            j++;
        }
        if(nl[i]>=60)
        {
            nlo[k]=nl[i];
            strcpy(ido[k],id[i]) ;
            k++;
        }
    }
    for(a=1;a<=k;a++)
    {
        for(b=0;b<k-a;b++)
        {
            if(nlo[b]<nlo[b+1])
            {
                e=nlo[b+1];
                nlo[b+1]=nlo[b];
                nlo[b]=e;
                strcpy(m,ido[b+1]);
                strcpy(ido[b+1],ido[b]);
                strcpy(ido[b],m);
            }
        }
    }
    for(f=0;f<k;f++)
    {
        puts(ido[f]);
    }
    for(f=0;f<j;f++)
    {
        puts(idy[f]);
    }
    return 0;
}
struct patient{
	char ID[10];
	int age;
};


void bubble(struct patient * a[],int n);

void main()
{
	int n,i,s=0;
	struct patient p[100]={"0",0};
	struct patient * pt[100];
	scanf("%d",&n);

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

	bubble(pt,n);

	for(i=0;i<n;i++)
	{
		if(pt[i]->age>=60)
		{
			printf("%s\n",pt[i]->ID);
			s++;
		}
	}


	for(i=0;i<n;i++)
	{
		
		if(p[i].age<60)
		{
			printf("%s\n",p[i].ID);
		
		}
	
	}

}

void sort2(struct patient * a[],int n)
{
	int i,j,k;
	struct patient * t;
	for(i=0;i<n-1;i++)
	{
		k=i;
		for(j=i+1;j<n;j++)
		{
			if(a[j]->age > a[k]->age)
			{k=j;}
		}
		t=a[k];a[k]=a[i];a[i]=t;
	}
}
void bubble(struct patient * a[],int n)
{
	int i,j;
	struct patient * t;
	for(i=0;i<=n-2;i++)
	{
		for(j=0;j<=n-i-2;j++)
		{
			if(a[j]->age < a[j+1]->age)
			{
				t=a[j];a[j]=a[j+1];a[j+1]=t;
			}
		}
	}
}
int main(){
	int i,j,n,k=0,b[100],c=0,eb;
	char a[100][10],ea[10];
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%s %d",a[i],&b[i]);
	for(j=0;j<n;j++){
	for(i=n-1;i>j;i--){
		if(b[i]>b[i-1]&&b[i]>=60){
			eb=b[i];
			b[i]=b[i-1];
			b[i-1]=eb;
			strcpy(ea,a[i]);
			strcpy(a[i],a[i-1]);
			strcpy(a[i-1],ea);
		}
	}
	}
	for(i=0;i<n;i++)
		printf("%s\n",a[i]);
	return 0;
}
struct p
{
	char i[10];
	int a;
	struct p *next;
};
void main()
{
	struct p *p1,*p2,*head,*head2,*q1,*q2;
	int n,i,k=0,b=0,x=0;
    scanf("%d",&n);
	p1=p2=(struct p *)malloc(len);
	scanf("%s %d",p1->i,&p1->a);
	for(i=0;i<n;i++)
	{
		k++;
		if(k==1)head=p1;
		else p2->next=p1;
		p2=p1;
		p1=(struct p *)malloc(len);
	    scanf("%s %d",p1->i,&p1->a);
	}
	p2->next=NULL;
	for(p1=head;p1!=NULL;p1=p1->next)if(p1->a>=60)x++;
	k=0;
	for(p1=head;p1!=NULL;p1=p1->next)
	if(p1->a>=60&&p1->a>b){b=p1->a;p2=p1;}
	q1=q2=(struct p *)malloc(len);
    strcpy(q1->i,p2->i);q1->a=p2->a;p2->a=0;
	for(i=0;i<x-1;i++)
	{k++;
	if(k==1)head2=q1;
	else q2->next=q1;
	q2=q1;b=0;
	for(p1=head;p1!=NULL;p1=p1->next)
	if(p1->a>=60&&p1->a>b){b=p1->a;p2=p1;}
	q1=(struct p *)malloc(len);
    strcpy(q1->i,p2->i);q1->a=p2->a;p2->a=0;
	}
	q2->next=q1;q2=q1;
	
	
	for(p1=head;p1!=NULL;p1=p1->next)
		if(p1->a>0){
			q1=(struct p *)malloc(len);
			strcpy(q1->i,p1->i);q1->a=p1->a;p1->a=0;
		q2->next=q1;q2=q1;
		}
		q2->next=NULL;
	for(q1=head2;q1!=NULL;q1=q1->next)
		printf("%s\n",q1->i);

	
    

	

}
struct Patient
{
	char id[10];
	int age;
}a[100],e,b[100];

int main()
{
	int n,J;
	scanf("%d",&n);
	int i,j;
	for(i=0;i<n;i++)
	{
		scanf("%s %d",a[i].id,&a[i].age);
	}
	for(i=0;i<n;i++)
	{
		for(j=0;j<n-i;j++)
		{
			if(a[j].id>a[j+1].id)
			{
				e=a[j];a[j]=a[j+1];a[j+1]=e;
			}
		}
	}
	j=0;
	for(i=0;i<n;i++)
	{
		if(a[i].age>=60)
		{
			b[j]=a[i];
			j++;
		}
	}
	J=j;
	for(j=0;j<J;j++)
	{
		for(i=0;i<J-j;i++)
		{
			if(b[i].age<b[i+1].age)
			{
				e=b[i];
				b[i]=b[i+1];
				b[i+1]=e;
			}
		}
	}
	for(j=0;j<J;j++)
	{
		printf("%s\n",b[j].id);
	}
	for(i=0;i<n;i++)
	{
		if(a[i].age<60)
		{
			printf("%s\n",a[i].id);		
		}
	}
	return 0;	
}
int main()
{
    int num,j,i,n,max,count,a[100];
	//int order[100];
    char s[100][10];
    scanf("%d",&num);
    for( i = 0;i < num;i++)
    {
      scanf("%s %d",s[i],&a[i]);//???s[i][10](?????)??s[i](??????)
    }
	n = 0;
    for(count = 0;count < num;count++)
    {
       max = 59;
       for(i = 0;i<num; i++)
      { 
        if(a[i] > max&&a[i] < 200)//??????
        {
                max = a[i];
                j = i;
         }
      }
	   if(max == 59)//??????????????60?????
		   break;
      printf("%s\n", s[j]); //???s[i][10](?????)??s[i](??????) ???????max
	  a[j] = 300;//??????
     }
     for( i = 0;i < num; i++)
     {
          if(a[i] < 60)
          printf("%s\n", s[i]); //???s[i][10](?????)??s[i](??????)
    }
    //getchar();
    //getchar();???vc6.0?????
    return 0;
}
struct pa{//patient
	char id[10];
	int age;
	int re;//register
}p[100],po[100],temp;
void main()
{
	int n,i,j,pj=0,oldj=0;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s%d",p[pj].id,&p[pj].age);
		if(p[pj].age>=60)
		{
			po[oldj]=p[pj];
			po[oldj].re=oldj;
			oldj++;
		}
		else
		{
			p[pj].re=pj;
			pj++;
		}
	}
	for(i=0;i<oldj-1;i++)
	{
		for(j=i+1;j<oldj;j++)
		{
			if ( (po[i].age<po[j].age) || (po[i].age==po[j].age && po[i].re>po[j].re) )
			{
				temp=po[i];
				po[i]=po[j];
				po[j]=temp;
			}
		}
		printf("%s\n",po[i].id);
	}
	printf("%s\n",po[i].id);
	for(i=0;i<pj;i++)
		printf("%s\n",p[i].id);
}
void main()
{
	int n,i,b[100],c[100],j=0,k,mid,p,m=0,max;
	struct patient
	{
		char id[20];
		int age;
	}a[100];
	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)
		{
			b[j++]=i;
		}
		else c[m++]=i;
	}
	for (i=0;i<j;i++)
	{   
	max=i;
		for (k=i;k<j;k++)
		{

			if (a[b[k]].age>a[b[max]].age) max=k;
		}
		mid=b[max];
		for (k=max;k>i;k--)
		b[k]=b[k-1];
		b[i]=mid;
	}
	for (i=0;i<j;i++)
	printf ("%s\n",a[b[i]].id);
	for (i=0;i<m;i++)
	printf ("%s\n",a[c[i]].id);
}
int main()
{
	char s[100][10];
	int a[100],b[100],i,n,k,l,j;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s%d",s[i],&a[i]);
		b[i]=a[i];
		
		
	}
	for(k=n-1;k>0;k--)
	{
		for(i=0;i<k;i++)
		{
			if(b[i]>b[i+1])
			{
				l=b[i];
				b[i]=b[i+1];
			b[i+1]=	l;
			}
		}
	}
	i=n-1;
	while(b[i]>=60)
	{
	for(j=0;j<n;j++)
	{
		if(a[j]==b[i])
		{
			printf("%s\n",s[j]);
		}
	}
	while(b[i-1]==b[i])	
	{
		i--;
	}
	i--;
	
	
	}
	for(i=0;i<n;i++)
	{
		if(a[i]<60)
		printf("%s\n",s[i]);
	}
	return 0;
	
}
void main(){
	int n,i,j,mid;
	char M[11];
	scanf("%d",&n);
	struct patient{
		char ID[11];
		int age;
	};
	struct patient *per=(struct patient*)malloc(sizeof(struct patient)*n);
	for(i=0;i<n;i++)
		scanf("%s%d",per[i].ID,&per[i].age);
	for(j=0;j<n;j++)
		for(i=0;i<n-1;i++){
			if(per[i].age<60&&per[i+1].age>=60){
				mid=per[i].age;
				strcpy(M,per[i].ID);
				per[i].age=per[i+1].age;
				strcpy(per[i].ID,per[i+1].ID);
				per[i+1].age=mid;
				strcpy(per[i+1].ID,M);
				}
			if(per[i].age>=60&&per[i+1].age>=60&&per[i].age<per[i+1].age){
				mid=per[i].age;
				strcpy(M,per[i].ID);
				per[i].age=per[i+1].age;
				strcpy(per[i].ID,per[i+1].ID);
				per[i+1].age=mid;
				strcpy(per[i+1].ID,M);
				}
	}
	for(i=0;i<n;i++)
		printf("%s\n",per[i].ID);
	free(per); 
}
int main()
{
    int n,j,i;
    scanf("%d",&n);
    char a[n][10];
    int b[n];
    for(j=0;j<n;j++)
    scanf("%s %d",a[j],&b[j]);
    for(i=100;i>=60;i--) 
    {
                         for(j=0;j<n;j++)
                         {if(b[j]==i)
                         printf("%s\n",a[j]);
                         }
     }
     
     for(j=0;j<n;j++)
     {
                     if(b[j]<60)
                     printf("%s\n",a[j]);
      }
    
    
    getchar();
    getchar();
    getchar();
    getchar();
    getchar();
    getchar();
    getchar();
    

}
struct information
{
	char ID[10];
	int age;
}*a;
void main()
{
	int n,i,j,max,p,q=0;
	scanf("%d",&n);
	a=(struct information *)malloc(sizeof(struct information)*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>59) q++;
	}
	for(i=0;i<q;i++)
	{
		max=0;
		for(j=0;j<n;j++)
		{
			if(max<a[j].age) {max=a[j].age;p=j;}
		}
		printf("%s\n",a[p].ID);
		a[p].age=0;
	}
	for(i=0;i<n;i++)
	{
		if(a[i].age!=0) printf("%s\n",a[i].ID);
	}
}
char id[101][11];

int main()
{   int n;
    int age[101],a[101];
    scanf("%d",&n);
    for (int i=1;i<=n;i++)
    {
        scanf("%s%d",id[i],&age[i]);
        int j=i;
        if (age[i]>=60)
        {
           for (;j>1&&age[a[j-1]]<age[i];j--)
           a[j]=a[j-1];
        }
        a[j]=i;
    }
    for (int i=1;i<=n;i++)
    printf("%s\n",id[a[i]]);
    getchar();
    getchar();
    return 0;
    
}
int main(){
	int age[N], n, i, k;
	char id[N][LEN];
	scanf("%d", &n);
	for(i = 0; i < n; i++){
		scanf("%s %d", id[i], &(age[i]));
	}
int e; char e_id[10];
for(k = 1 ; k <= n; k++){
	for(i = 0; i < n- k; i++){
		if((age[i] <60&& age[i+1]>=60)||(age[i]>=60&&age[i+1]>=60&&age[i]<age[i+1])){
			e = age[i+1];
			strcpy(e_id, id[i+1]);
			age[i+1] = age[i];
			strcpy(id[i+1], id[i]);
			age[i] = e;
			strcpy(id[i], e_id);
		}
	}
}
	for(i = 0; i < n; i++){
		printf("%s\n", id[i]);
	}
	return 0;
}
int n;
struct patients
{
	char name[11];
	int age;
}pat[100];
struct patold
{
	char name[11];
	int age;
}old[100];
struct patyoung
{
	char name[11];
	int age;
}young[100];
int y=0,o=0;
char nametemp[11];
int agetemp;

int main()
{
	int i,j;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s",&pat[i].name);
		scanf("%d",&pat[i].age);
	}
	for(i=0;i<n;i++)
	{
		if(pat[i].age>=60)
		{
			strcpy(old[o].name,pat[i].name);
			old[o].age=pat[i].age;
			o++;
		}
		else
		{
			strcpy(young[y].name,pat[i].name);
			young[y].age=pat[i].age;
			y++;
		}
	}
	for(i=1;i<o;i++)
	{
		for(j=0;j<o-i;j++)
		{
			if(old[j].age<old[j+1].age)
			{
				agetemp=old[j].age;
				old[j].age=old[j+1].age;
				old[j+1].age=agetemp;
				strcpy(nametemp,old[j].name);
				strcpy(old[j].name,old[j+1].name);
				strcpy(old[j+1].name,nametemp);
			}
		}
	}
	for(i=0;i<o;i++)
		printf("%s\n",old[i].name);
	for(i=0;i<y;i++)
		printf("%s\n",young[i].name);
	return 0;
}
int main()
{
    struct patients
    {
       char id[10];
       int age;
       }temp;
    struct patients patient[100];
    struct patients old[100];
    int i,j,n,first;
    scanf("%d",&n);
    first=0;
    for (i=0;i<n;i++){
        scanf("%s",patient[i].id);
        scanf ("%d",&patient[i].age);
        if (patient[i].age>=60){
            old[first]=patient[i];
            first=first+1;
            }
        }
    for (i=0;i<first;i++){
        for (j=0;j<first-i-1;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<first;i++){
        printf("%s\n",old[i].id);
        }
    for (i=0;i<n;i++){
        if (patient[i].age<60){
            printf("%s\n",patient[i].id);
            }
        }
    return 0;
    }
struct st
{
	int age,he;
	char num[15];
	struct st *next;
};

struct st *creat(int n)
{
	struct st *head,*p1,*p2;
	int i,h=105;
	p1=(struct st *)malloc(sizeof(struct st));
	p2=p1;
	head=p1;
	for (i=1;i<=n;i++)
	{
		p1=(struct st *)malloc(sizeof(struct st));
		scanf("%s %d",p1->num,&p1->age);
		if (p1->age >= 60)
			p1->he=p1->age*1000+h;
		else p1->he=h;
		p1->next=NULL;
		p2->next=p1;
		p2=p1;
		h--;
	}
	return(head);
}

void paixu(struct st *head)
{
	struct st *max,*p,*p1,*p2,*p3,*p4;
	p1=head;
	while(p1->next)
	{
		p2=p1->next;
		max=p2;
		p4=p2;
		p=p2->next;
		while(p)
		{
			if (p->he > max->he)
			{
				max=p;
				p3=p4;
			}
			p=p->next;
			p4=p4->next;
		}
		if (max>p1->next)
		{
			p3->next=max->next;
			p1->next=max;
			max->next=p2;
		}
		p1=p1->next;
	}
}

void main()
{
	struct st *creat(int n);
	void paixu(struct st *head);
	struct st *head,*p;
	int n;
	scanf("%d",&n);
	head=creat(n);
	paixu(head);
	p=head->next;
	while(p)
	{
		printf("%s\n",p->num);
		p=p->next;
	}
}
struct p
{
       char id[11];
       int age;
};

int main()
{
    void sort(int n,struct p a[101]);
    int n,i;
    struct p a[101];
    scanf("%d\n",&n);
    for(i=0;i<n;i++)
    {
                    scanf("%s %d",&a[i].id,&a[i].age);
    }
    sort(n,a);
    
    return 0;
}

void sort(int n,struct p a[101])
{
     int i,k=0;
     for(i=0;i<n;i++)
     {
                     if((a[i].age)>k)
                     k=(a[i].age);
     }
     for(;k>59;k--)
     {
                   for(i=0;i<n;i++)
                   {
                                   if((a[i].age)==k)
                                   {
                                                    printf("%s\n",a[i].id);
                                                    (a[i].age)=0;
                                   }
                   }
     }
     for(i=0;i<n;i++)
     {
                     if((a[i].age)!=0)
                     {
                                      printf("%s\n",a[i].id);
                     }
     }
}
int main()
{
	int i,n,t=0,e,num=0,k;
	char z[10];
	struct point
	{
		char ID[10];
		int age;
	}a[100],b[100];
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s",&a[i].ID);
		scanf("%d",&a[i].age);
	}
	for(i=0;i<n;i++)
	{
		if(a[i].age>=60)
		{
			num=num+1;
		}
	}
	int f=num;
	for(i=0;i<n;i++)
	{
		if(a[i].age>=60)
		{
			b[t].age=a[i].age;
			strcpy(b[t].ID,a[i].ID);
			t++;
		}
		if(a[i].age<60)
		{
			b[f].age=a[i].age;
			strcpy(b[f].ID,a[i].ID);
			f++;
		}
	}
	for(i=0;i<num;i++)
	{
		for(k=0;k<num-i-1;k++)
		{
			if(b[k].age<b[k+1].age)
			{
				e=b[k].age;
				b[k].age=b[k+1].age;
				b[k+1].age=e;
				strcpy(z,b[k+1].ID);
				strcpy(b[k+1].ID,b[k].ID);
				strcpy(b[k].ID,z);
			}
		}
	}
	for(i=0;i<n;i++)
	{
		printf("%s\n",b[i].ID);
	}









		

	return 0;


}
struct patient
{
 char id[20];
 int age;
 struct patient *next;
}*head,*p1,*p2;
struct patient *order(int n)
{
 int i,j,t;
 char a[20];
 for(i=0;i<n-1;i++)
 {
  p1=head;p2=p1->next;
   for(j=0;j<n-1-i;j++)
   {
    if(p2->age>=60&&p1->age<p2->age)
     {
       t=p1->age;p1->age=p2->age;p2->age=t;
       strcpy(a,p1->id);strcpy(p1->id,p2->id);strcpy(p2->id,a);
      }
     p1=p1->next;p2=p2->next;
    }
  }
return head;
}
void main()
{
 int n,i;
 scanf("%d",&n);
 p1=head=(struct patient *)malloc(sizeof(struct patient));
 for(i=0;i<n;i++)
 {
  scanf("%s %d",p1->id,&p1->age);
  p2=p1;
  p1=(struct patient *)malloc(sizeof(struct patient));
  p2->next=p1;
  }
 p2->next=NULL;
 p1=order(n);
 while(p1)
 {
  printf("%s\n",p1->id);
  p1=p1->next;
  }
}
int main()
{
	int n,i,j;
	struct s
	{char id[10];
	int age;
	};
	struct s S[100],Si;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%s%d",S[i].id,&S[i].age);
	}
	for(i=0;i<n-1;i++){
		for(j=0;j<n-i-1;j++){
			if(S[j+1].age>=60){
				if(S[j].age<S[j+1].age){
					Si=S[j];
					S[j]=S[j+1];
					S[j+1]=Si;
				}
			}
		}
	}
	for(i=0;i<n;i++){
		printf("%s\n",S[i].id);
	}
}
struct man
{
	char id[20];
	int a;
	struct man *next;
}*p,*head,*q;



void main()
{

    struct man * insert(struct man *head,struct man *ill);
	int n,i;
	scanf("%d",&n);
	head=NULL;
	for(i=0;i<n;i++)
	{
		p=(struct man*)malloc(LEN);
		scanf("%s %d",p->id,&p->a);
		head=insert(head,p);
	}

	q=head;
    while(q!=NULL)
	{
		printf("%s\n",q->id);
		q=q->next;
	}
}


struct man * insert(struct man *head,struct man *ill)
{
	struct man *p0,*p1,*p2;
	p1=head;
	p0=ill;
	if(head==NULL)
	{
		head=p0;
		p0->next=NULL;
	}
	else
	{
	  if(p0->a<60)
	  {
			while(p1->next!=NULL)
			{
				p2=p1;
				p1=p1->next;
			}
			p1->next=p0;
			p0->next=NULL;
	  }

	  else if(p0->a>=60)
	  {
		while((p0->a<=p1->a)&&(p1->next!=NULL))
		{
			p2=p1;
			p1=p1->next;
		}
		if(p0->a>p1->a)
		{
			if(head==p1)
				head=p0;
			else
				p2->next=p0;
			p0->next=p1;}
		else
		{
			p1->next=p0;
			p0->next=NULL;
		}
		
	  }
	
	}
	return(head);
}
struct person
{char ID[10];
 int age;
}person[100];
void main()
{
	int i,j=-1,k,n,max;
	char s[100][10],a[100];
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%s %d",&person[i].ID,&person[i].age);
	for(i=0;i<n;i++)
	{a[i]=person[i].age;
	  if(person[i].age>=60) j++;}
	for(k=0;k<=j;k++)
	{
  	 max=0;
	 for(i=0;i<n;i++)
 	   max=(max>=a[i])?max:a[i];
	 for(i=0;i<n;i++)
	    if(a[i]==max) 
		{printf("%s\n",person[i].ID);
	     a[i]=0;
  	     break;
		}
	}
	for(i=0;i<n;i++)
	if(person[i].age<60) printf("%s\n",person[i].ID);
}