semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
void main()
{
	int i=0,j=0,n,a[100],b[100],k,m=0,sum=59;
	char c[100][10];
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s %d",c[i],&a[i]);
		if(a[i]>=60) m++;
	}
	for(j=0;j<m;j++)
	{
		for(i=0;i<n;i++)
		{
			if(a[i]>sum) 
			{
				sum=a[i];
				k=i;
			}
		}
		a[k]=0;
		b[j]=k;
		sum=59;
	}
	for(j=0;j<m;j++)
	{
		printf("%s\n",c[b[j]]);
	}
	for(i=0;i<n;i++)
	{
		if((a[i]>0)&&(a[i]<60)) 
		{
			printf("%s\n",c[i]);
		}
	}
}
main()
{
int n,i,k,t;
int d[100];
char c[100][10],e[10];
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%s %d",c[i-1],&d[i-1]);
for(i=1;i<=n-1;i++)
{
for(k=n;k>=i+1;k--)
{
if(d[k-1]>d[k-2]&&d[k-1]>=60)
{
t=d[k-2];
d[k-2]=d[k-1];
d[k-1]=t;
strcpy(e,c[k-2]);
strcpy(c[k-2],c[k-1]);
strcpy(c[k-1],e);
}                     
}
}
for(i=1;i<=n;i++)
printf("%s\n",c[i-1]);                                                   
getchar();
getchar();  
}
void main()
{
	struct patient
	{
		char id[10];
		int age;
	}pa[100]={0},old[100]={0},young[100]={0},t;
	int i,j,k=0,l=0,n;
	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>=60)
		{
			old[k]=pa[i];
			k++;
		}
		else
		{
			young[l]=pa[i];
				l++;
		}
	}
	for(i=0;i<n-1;i++)
	{for(j=0;j<n-1-i;j++)
		{
			if(old[j].age<old[j+1].age)
			{
				t=old[j];
				old[j]=old[j+1];
				old[j+1]=t;
			}
		}
	}
	for(i=0;i<k;i++)
	{
		printf("%s\n",old[i].id);
	}
	for(i=0;i<l;i++)
	{
		printf("%s\n",young[i].id);
	}
}
void main()
{
	int n,age[100],i,j,m=0,p,h;
	char hao[100][10],mid[10];
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%s %d",hao[i],&age[i]);
	for(i=0;i<n;i++)
		if(age[i]>=60)
		{
			m=m+1;
			for(j=i;j>=m;j--)
			{
				strcpy(mid,hao[j]);
				strcpy(hao[j],hao[j-1]);
				strcpy(hao[j-1],mid);
				h=age[j];
				age[j]=age[j-1];
				age[j-1]=h;
			}
		}

	for(i=0;i<m;i++)
		for(j=0;j<m-i-1;j++)
			if(age[j]<age[j+1])
			{
				strcpy(mid,hao[j]);
				strcpy(hao[j],hao[j+1]);
				strcpy(hao[j+1],mid);
				h=age[j];
				age[j]=age[j+1];
				age[j+1]=h;
			}


	for(i=0;i<n;i++)
		printf("%s\n",hao[i]);
}
struct patient
{
	char ID[10];
	int age; 
}pat[100];
int main()
{
	struct patient t;
	struct patient num[100];
	int n,i,j,a=1;
	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)
	   { num[a-1]=pat[i];
		 a++;}
    }
	for(i=0;i<a-2;i++)
	{ for(j=0;j<a-2-i;j++)
	if(num[j].age<num[j+1].age)
	  { t=num[j];
	    num[j]=num[j+1];
	    num[j+1]=t;}
	}
    for(i=0;i<a-1;i++)
    printf("%s\n",num[i].ID);
	for(i=0;i<n;i++)
	{ if(pat[i].age<60)
	  printf("%s\n",pat[i].ID);}

  return 0;	
}
int main(){
        int n,i,j,k;
        scanf("%d",&n);

        char id[100][10];
        int old[100];

        for(i=0;i<n;i++){
                scanf("%s",id[i]);
                scanf("%d",&old[i]);
        }
         
        int e;
        char s[100][10];
        for( j=1;j<n;j++){
   for( k=0;k<n-j;k++){
    if(old[k]<old[k+1]&&old[k+1]>=60){
     e=old[k+1];
     old[k+1]=old[k];
     old[k]=e;
         strcpy(s[k],id[k+1]);
        strcpy(id[k+1],id[k]);
	strcpy(id[k],s[k]);
		}
	}
	}
        for(i=0;i<n;i++){
                printf("%s\n",id[i]);
        }


        return 0;
}
struct s
{
	int d;
	char c[20];
	struct s *next;
};
void sort(struct s *head)
{
	struct s *pre=head,*p=pre->next,*s;
	s=(struct s *)malloc(sizeof(struct s));
	scanf("%s %d",s->c,&s->d);
	s->next=NULL;
	if(s->d>=60)
	{
		while(p!=NULL&&p->d>=s->d)
		{
		    pre=p;
		    p=p->next;
		}
		pre->next=s;
	    s->next=p;
	}
	if(s->d<60)
	{
		while(p!=NULL)
		{
			pre=p;
			p=p->next;
		}
			pre->next=s;
	        s->next=p;
	}
}
int main()
{
	struct s *head,*p;
	int n,i;
	head=(struct s *)malloc(sizeof(struct s));
	scanf("%d",&n);
	head->next=NULL;
	for(i=0;i<n;i++)
	{
		sort(head);
	}
	p=head->next;
	while(p!=NULL)
	{
		printf("%s\n",p->c);
		p=p->next;
	}
	return 0;
}
int main(int argc, char* argv[])
{

	int n,j=0,i,num=0,t;
	char a[100][10],d[100][10],temp[10];//a???????d?a???
	int b[100],c[100];//b???????c?b???

	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%s %d",a[i],&b[i]);//??
	}
	for(i=0;i<n;i++){
		if(b[i]>=60){
			c[j]=b[i];
			strcpy(d[j],a[i]);
			j++;
			num=j;//???????65????????c?????????
		}
	}
	for(i=1;i<num;i++)
	for(j=0;j<num-i;j++){
		if(c[j]<c[j+1]){
			t=c[j+1];
			c[j+1]=c[j];
			c[j]=t;
			strcpy(temp,d[j+1]);
			strcpy(d[j+1],d[j]);
			strcpy(d[j],temp);//?????65???????????????
		}
	}
	for(i=0;i<n;i++){
		if(b[i]<60){
			c[num]=b[i];
			strcpy(d[num],a[i]);
			num++;//???65????c?????????
		}
	}
	for(j=0;j<n;j++){
		printf("%s\n",d[j]);//???????
	}

	return 0;
}
int main()
{
    int n,i,j,k;
    scanf ("%d",&n);
    struct patient
    {
        char num[10];
        int age;
    };
    struct patient p[100],temp;
    for (i=0;i<n;i++)
    scanf ("%s %d",&p[i].num,&p[i].age);
    for (i=0;i<n-1;i++)
    {
        for (j=i+1;j<n;j++)
        {
            if (p[j].age>p[i].age&&p[j].age>=60)
            {
                for (k=j;k>i;k--)
                {
                    temp=p[k];
                    p[k]=p[k-1];
                    p[k-1]=temp;
                }
            }
        }
        printf("%s\n",p[i].num);
    }
    printf("%s\n",p[n-1].num);
    return 0;
}
int i,j,n;
struct st
	{
        char a[20];
		int x;
		struct st *next;
	}*p1,*p2,*p,*head,*pre;
void main()
{
scanf("%d",&n);void f(struct st *);
p1=p2=head=(struct st *)malloc(sizeof(struct st));
	for(i=0;i<n;i++)
	{
		scanf("%s %d",p1->a,&p1->x);
		p1=(struct st *)malloc(sizeof(struct st));p2->next=p1;p2=p1;
	}
	f(head);
p=head;
for(i=0;i<n;i++)
{
	printf("%s\n",p->a);p=p->next;
}
}
void f(struct st *p)
{
for(i=0;i<n-1;i++)
	{
		pre=p1=p2=head;p1=p1->next;
		for(j=0;j<n-1-i;j++)
		{
			if(p1->x>p2->x&&p1->x>=60)
			{
			if(j==0)
			{p2->next=p1->next;p1->next=p2;head=pre=p1;}
			else
			{p2->next=p1->next;p1->next=p2;pre->next=p1;}
			}
			if(j!=0)pre=pre->next;
			p2=pre->next;p1=p2->next;
		}
	}
}
int main(){
	int n,i,j;
	struct {
		int y,a;
		char id[10];
	}p[100],t;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%s %d",p[i].id,&p[i].y);
		p[i].a=i+1;
	}
	for(i=0;i<n;i++){
		for(j=i+1;j<n;j++){
			if(p[i].y>=60||p[j].y>=60)
			{
			  if(p[j].y>p[i].y)
			  {
				t=p[i];
				p[i]=p[j];
				p[j]=t;
			  }
			  else if(p[i].y==p[j].y)
			  {
				  if(p[j].a<p[i].a){
					t=p[i];
				p[i]=p[j];
				p[j]=t;
				}
			  }
			}
			else{
				if(p[j].a<p[i].a){
					t=p[i];
				p[i]=p[j];
				p[j]=t;
				}
			}
		}
	}
	for(i=0;i<n;i++){
		printf("%s\n",p[i].id);
	}
return 0;
}
struct patient
{
	char id[10];
	int age;
	struct patient * next;
};
int main()
{
	int n,i;
	struct patient *p,*pre,*pnew,*head1,*head2;
	head1=NULL;
	head2=NULL;
	scanf("%d\n",&n);
	p=(struct patient *)malloc(sizeof(struct patient));
	for(i=0;i<n;i++)
	{
		pnew=(struct patient *)malloc(sizeof(struct patient));
		scanf("%s %d\n",pnew->id,&pnew->age);
		pnew->next=NULL;
		if(pnew->age>=60)
		{
			if(head1==NULL)
			{
				head1=pnew;
			}
			else
			{
				p=head1;
				while(p&&p->age>=pnew->age)
				{
					pre=p;
					p=p->next;
				}
				if(p==head1)
				{
					pnew->next=head1;
					head1=pnew;
				}
				else
				{
					pre->next=pnew;
					pnew->next=p;
				}
			}
		}
		else
		{
			if(head2==NULL)
			{
				head2=pnew;
			}
			else
			{
				p=head2;
				while(p)
				{
					pre=p;
					p=p->next;
				}
				if(p==head2)
				{
					pnew->next=head2;
					head2=pnew;
				}
				else
				{
					pre->next=pnew;
					pnew->next=p;
				}
			}
		}
	}
	p=head1;
	if(head1!=NULL)
	{
		while(p)
		{
			printf("%s\n",p->id);
			p=p->next;
		}
	}
	p=head2;
	if(head2!=NULL)
	{
		while(p)
		{
			printf("%s\n",p->id);
			p=p->next;
		}
	}
	return 0;
}
struct guahao
{
	char num[20];
	int year;
};
int main()
{
	int n,i,m;
	struct guahao temp,*p,*t,*p1;
	scanf("%d",&n);
	m=n;
	struct guahao *bingren=(struct guahao*)malloc(sizeof(struct guahao)*n);
	struct guahao *bingren1=(struct guahao*)malloc(sizeof(struct guahao)*m);
	p=bingren;
	p1=bingren1;
	for(;p<bingren+n;p++,p1++)
	{
		scanf("%s %d",p->num,&p->year);
		*p1=*p;
	}
	p=bingren;
	for(i=0;p<bingren+n-1;p++,i++)
	{
		for(t=bingren;t<bingren+n-1-i;t++)
		{
			if((*t).year<(*(t+1)).year)
			{
				temp=*t;
				*t=*(t+1);
				*(t+1)=temp;
			}
		}
	}
	p=bingren;
	for(;p<bingren+n;p++)
	{
		if((*p).year>=60)
		{
			printf("%s\n",p->num);
		}
	}
	for(p1=bingren1;p1<bingren1+m;p1++)
	{
		if((*p1).year<60)
		{
			printf("%s\n",p1->num);
		}
	}
	free(bingren);
	free(bingren1);
	return 0;
}
int main()
{
	int n,m=0;
	scanf("%d\n",&n);
	struct p{
		char num[10000];
		int age;
	}p[100];
	struct p1{
		char num1[10000];
		int age1;
	}p1[100];
	int i,j;
	for(i=0;i<n;i++)
	{
		scanf("%s%d\n",p[i].num,&p[i].age);
		if(p[i].age>=60)
		{
			strcpy(p1[m].num1,p[i].num);
            p1[m].age1=p[i].age;
			m=m+1;
		}
	}
	int e;
	char w[10000];
	for(i=1;i<m;i++)
	{
		for(j=0;j<m-i;j++)
		{
			if(p1[j].age1<p1[j+1].age1)
			{
				strcpy(w,p1[j+1].num1);
				strcpy(p1[j+1].num1,p1[j].num1);
				strcpy(p1[j].num1,w);
				e=p1[j+1].age1;
				p1[j+1].age1=p1[j].age1;
				p1[j].age1=e;
				
			}
		}
	}
	for(i=0;i<m;i++)
	{
		printf("%s\n",p1[i].num1);
	}
	for(i=0;i<n;i++)
	{
		if(p[i].age<60)
		{
			printf("%s\n",p[i].num);
		}
	}
	return 0;
}
struct patient
{
	char id[11];
	int age;
};

void main()
{
	int n;
	scanf("%d\n",&n);
	struct patient *p;
	p=(struct patient *)malloc(len);
	struct patient *a[n],*b[n];
	int anum=0,bnum=0;
	int i,j;
	for(i=0;i<n;i++)
	{
	    scanf("%s %d",p->id,&p->age);
	    if(p->age>=60)
	    {
	    	a[anum]=(struct patient *)malloc(len);
			strcpy(a[anum]->id,p->id);
	    	a[anum]->age=p->age;
	    	anum++;
	    }
		else
		{
			b[bnum]=(struct patient *)malloc(len);
			strcpy(b[bnum]->id,p->id);
	    	b[bnum]->age=p->age;
	    	bnum++;
		}
	}
	for(i=0;i<anum-1;i++)
	{
		for(j=0;j<anum-i-1;j++)
		if(a[j]->age<a[j+1]->age)
		{
			p->age=a[j]->age;
			a[j]->age=a[j+1]->age;
			a[j+1]->age=p->age;
			strcpy(p->id,a[j]->id);
			strcpy(a[j]->id,a[j+1]->id);
			strcpy(a[j+1]->id,p->id);
		}
	}
	for(i=0;i<anum;i++)
	printf("%s\n",a[i]->id);
	for(i=0;i<bnum;i++)
	printf("%s\n",b[i]->id);
}
int main()
{
	struct pa
	{
		char id[10];
		int age;
	}pat[100],p1[100],p2[100],temp;
	int i,n,j=0,k=0,m;
	cin>>n;
	for(i=0;i<n;i++)
	{
		cin>>pat[i].id>>pat[i].age;
	}
	for(i=0;i<n;i++)
	{
		if(pat[i].age>=60)
		{
			p1[j]=pat[i];
			j++;
		}
		else
		{
			p2[k]=pat[i];
			k++;
		}
	}
	for(i=j-1;i>0;i--)
	{
		for(m=0;m<i;m++)
		{
			if(p1[m].age<p1[m+1].age)
			{
				temp=p1[m];
				p1[m]=p1[m+1];
				p1[m+1]=temp;
			}
		}
	}
	for(i=0;i<j;i++)
	{
		printf("%s\n",p1[i].id);
	}
	for(i=0;i<k;i++)
	{
		printf("%s\n",p2[i].id);
	}
	return 0;
}
struct student 
{
       char num[11];
       int age;
};

int main(int argc, char *argv[])
{
  int n,i,j;
  scanf("%d",&n);
  struct student pa[n];
  for (i=0;i<=n-1;i++)
      scanf("%s%d",pa[i].num,&pa[i].age);
  struct student temp;
  for (j=n-1;j>=1;j--)
  {
      for (i=0;i<=j-1;i++)
      {
          if (pa[i].age<pa[i+1].age&&!(pa[i].age<60&&pa[i+1].age<60))
          {temp=pa[i];pa[i]=pa[i+1];pa[i+1]=temp;}
      }
  }
  for (i=0;i<=n-1;i++)
  {
      printf("%s",pa[i].num);
      (i<=n-2)?printf("\n"):printf("");
  }
  return 0;
}
struct patient
{
	int age;
	char id[12];
};
void swap(struct patient *a,struct patient *b)
{
	struct patient tmp;
	tmp = *a;
	*a = *b;
	*b = tmp;
}
int main()
{
	int n,i,j=0,k=0,l;
	scanf("%d",&n);
	struct patient tmp;
	struct patient young[120];
	struct patient old[120];
	for (i=0; i<n; i++)
	{
		scanf("%s",tmp.id);
		scanf("%d",&tmp.age);
		if( tmp.age >= 60 )
			old[j++] = tmp;
		else
			young[k++] = tmp;
	}
	for(i=0; i<j; i++)
	{
		for(l=0; l<j-i-1; l++)
		{
			if( old[l].age < old[l+1].age )
				swap(&old[l],&old[l+1]);
		}
	}
	for(i=0; i<j; i++)
		printf("%s\n",old[i].id);
	for(i=0; i<k; i++)
		printf("%s\n",young[i].id);
	return 0;
}
int main()
{
	char s[101][10]={0},p[101][10]={0},q[101][10]={0};
	int  a[101]={0},b[101]={0},c[101]={0};
	int n,i=0,j=0;
	int f=0,g=0;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s %d",s[i],&a[i]);
		if(a[i]>=60)
		{
			b[f]=a[i];
			strcpy(p[f],s[i]);
			f++;
		}
		else if(a[i]<60)
		{
			c[g]=a[i];
			strcpy(q[g],s[i]);
			g++;
		}
	}
	int e=0;
	char y[10]={0};
	for(j=0;j<f;j++)
	{
		for(i=f-2;i>=j;i--)
		{
			if(b[i]<b[i+1])
			{
				e=b[i];
				b[i]=b[i+1];
				b[i+1]=e;
				strcpy(y,p[i]);
				strcpy(p[i],p[i+1]);
				strcpy(p[i+1],y);
			}
		}
	}
	for(i=0;i<f;i++)
	{
		printf("%s\n",p[i]);
	}
	for(j=0;j<g;j++)
	{
		printf("%s\n",q[j]);
	}
	return 0;
}
struct stru
{
	char id[20];
	int age;
	struct stru *next;
}*head,*p,*q;

void creat(int N)
{
	int i;
	p=q=(struct stru *)malloc(LEN);
	head=p;
	scanf("%s %d",p->id,&p->age);
	for(i=1;i<N;i++)
	{
		p=(struct stru *)malloc(LEN);
		scanf("%s %d",p->id,&p->age);
		q->next=p;
		q=p;
	}
	q->next=NULL;
}

void arrange(struct stru *head,int N)
{
	int i,temp;char media[20];
	for(i=0;i<N;i++)
		for(p=head,q=head->next;q!=NULL;p=p->next,q=q->next)
		{
			if(q->age>=60 && q->age>p->age)
			{
				strcpy(media,p->id);
				strcpy(p->id,q->id);
				strcpy(q->id,media);
				temp=p->age;
				p->age=q->age;
				q->age=temp;
			}
		}
}


void print(struct stru *head)
{
	for(p=head;p!=NULL;p=p->next)
		printf("%s\n",p->id);
}

void main()
{
	int N;
	scanf("%d",&N);
	creat(N);
	//print(head);
	arrange(head,N);
	print(head);
}
int main(){

	int n, i, k;

	char id[N][LEN];

	int  age[N];

	scanf("%d", &n);

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

	int e_age;
	char e_id[LEN];
	for(k = 1 ; k <= n ; k++){
		for(int i = 0; i < n - k; i++){
			if( (age[i] < age[i+1]) && !(age[i+1] < 60) ){
				e_age = age[i+1];
				strcpy(e_id, id[i+1]);
				age[i+1] = age[i];
				strcpy(id[i+1], id[i]);
				age[i] = e_age;
				strcpy(id[i], e_id);
			}
		}
	}

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


	return 0;
}
struct data{
	int w;
	char c[20];
	int old;
	struct data *next;
	struct data *onext;
};
int main() {
	int i,j,n,max,x;
	scanf("%d",&n);
	struct data *head=(struct data*)malloc(sizeof(struct data));
	struct data *p,*pp,*de;
	pp=head;
	for(i=0;i<n;i++) {
		p=(struct data*)malloc(sizeof(struct data));
		scanf("%s %d",p->c,&p->w);
		p->old=0;
		pp->next=p;
		pp=p;
	}
	struct data *old=(struct data*)malloc(sizeof(struct data));
	pp=head->next;
	de=old;
	x=0;
	for(i=0;i<n;i++) {
		if(pp->w>59) {
			pp->old=1;
			de->onext=pp;
			de=pp;
			x++;
		}
		pp=pp->next;
	}


	for(i=0;i<x;i++) {
		pp=old->onext;
		max=0;
		for(j=0;j<x;j++) {
			if(pp->w>max) {
				max=pp->w;
				de=pp;
			}
			pp=pp->onext;
		}
		printf("%s\n",de->c);
		de->w=-1;
	}
	pp=head->next;
	for(i=0;i<n;i++) {
		if(pp->old==0) printf("%s\n",pp->c);
		pp=pp->next;

	}
}
struct f{
char id[10];
int old;
}st[1000],stu[1000],temp;
int main()
{
	int n,i,j,a,b,c;
	char cc,aa,x[1000],y[1000];
	scanf("%d",&n);
	for(i=1;i<=n;i++){
		scanf("%s%c%d%c",st[i].id,&aa,&st[i].old,&cc);}
	a=0;
	for(j=1;j<=n;j++){
		if(st[j].old>=60){
			a++;
			stu[a]=st[j];
		}}
	for(i=a-1;i>=0;i--){
		for(j=1;j<=i;j++){
			if(stu[j].old<stu[j+1].old){
				temp=stu[j];
				stu[j]=stu[j+1];
				stu[j+1]=temp;}}}
	for(i=1;i<=a;i++){
		puts(stu[i].id);}
	for(i=1;i<=n;i++){
		if(st[i].old<60)puts(st[i].id);}
}
int main()
{
    int n,i,age,max,t,numold,numyoung;
    char id[101][10],young[101][10];
    int x[101],r[101];
    scanf("%d",&n);
    for (i=0;i<101;i++) 
    {
        x[i]=0;
        r[i]=0;
        }
    numold=0;numyoung=0;
    for (i=1;i<=n;i++)
    {
        scanf("%s %d",id[i],&age);
        if (age>=60) 
        {
           x[i]=age;
           numold++;
           }
        else 
        {
             numyoung++;
             strcpy(young[numyoung],id[i]);
             }
        }
    for (i=1;i<101;i++)
    {
        max=1;
        for (int j=2;j<101;j++) 
        {
            if (x[j]>x[max]) max=j;
            }
        x[max]=0;
        t=i;
        r[i]=max;
        max=t;
        }
    for (i=1;i<=numold;i++) printf("%s\n",id[r[i]]); 
    for (i=1;i<=numyoung;i++) printf("%s\n",young[i]);
    }
struct peo
{
	char id[10];
	int age;
}a[150],b[150];
void main()
{
	int n,i,j=0,e,k;
	char c[10];
	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)
		{
			strcpy(b[j].id,a[i].id);
			b[j].age=a[i].age;
			j++;
		}
	}
	for(k=1;k<j;k++)
	{
		for(i=0;i<j-k;i++)
		{
			if(b[i].age<b[i+1].age)
			{
				e=b[i+1].age;
				b[i+1].age=b[i].age;
				b[i].age=e;
				strcpy(c,b[i+1].id);
				strcpy(b[i+1].id,b[i].id);
				strcpy(b[i].id,c);
			}
		}
	}
		for(i=0;i<j;i++)
		{
			printf("%s\n",b[i].id);
		}
		for(i=0;i<n;i++)
		{
			if(a[i].age<60)
			printf("%s\n",a[i].id);
		}
}
void main()
{
int n,i,j=0,p=0,q,w;
struct patient
{
int age;
char b[10];
};
struct patient c[100],d[100],e[100],f[100],g;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s",c[i].b);
scanf("%d",&c[i].age);
}
for(i=0;i<n;i++)
{
if(c[i].age>=60)
{
d[j]=c[i];
j=j+1;
}
else
{
e[p]=c[i];
p=p+1;
}
}
w=j-1;

for(j=1;j<=w;j++)
{
	q=w;
for(;q>=j;q--)
{
if(d[q].age>d[q-1].age)
{
g=d[q];
d[q]=d[q-1];
d[q-1]=g;
}
}
}
for(j=0;j<w+1;j++)
printf("%s\n",d[j].b);
for(j=0;j<p;j++)
printf("%s\n",e[j].b);

}
struct pat
{
 char *id;
 int a;
 int o;
 struct pat *next;
};
int n;

int main()
{
    struct pat *create(int n);
    struct pat *arrange(struct pat *head);
    struct pat *head,*p;
    
    scanf("%d",&n);
    head=create(n);
    head=arrange(head);
    
    p=head;
    while(p!=NULL)
    {
     printf("%s",p->id);
     if(p->next!=NULL) printf("\n");
     p=p->next;
    }
} 

struct pat *create(int n)
{
 struct pat *head,*p1,*p2;
 int i;
 p2=head=MLCP;
 
 for(i=1;i<=n;i++)
 {
  p1=MLCP;
  p1->id=MLCI;
  scanf("%s %d",p1->id,&p1->a);
  p1->o=i;
  
  p2->next=p1;
  p2=p1;
 }
 p2->next=NULL;
 
 return head;
}

struct pat *arrange(struct pat *head)
{
     void sort(struct pat *hn);
     
     struct pat *p1,*p2,*hn,*n1;
     
     n1=hn=MLCP;
     
     p2=head;p1=head->next;
     while(p1!=NULL)
     {
      if(p1->a >=60)
      {
       p2->next=p1->next;
       n1->next=p1;n1=p1;
       
       p1=p2->next;
      }
      else {p1=p1->next;p2=p2->next;}
     }
     n1->next=NULL;
     sort(hn);
     
     n1->next=head->next;
     head=hn->next;
     
     return head;
}

void sort(struct pat *hn)
{
   struct pat *p1,*p2;
   char *tid;
   int ta,to;
   
   p1=hn->next;
   while(p1!=NULL)
   {
    p2=p1->next;
    while(p2!=NULL)
    {
     if(p2->a > p1->a || (p2->a==p1->a && p2->o < p1->o))
     {
      tid=p2->id;p2->id=p1->id;p1->id=tid;
      ta=p2->a;p2->a=p1->a;p1->a=ta;
      to=p2->o;p2->o=p1->o;p1->o=to;
      }
     p2=p2->next;
    }
    p1=p1->next;
   }
}
void main()
{
	int n;
	int i,j;
	int k=0;
	char str[100][10]={0};
	char str1[100][10]={0};
	char str2[100][10]={0};
	int temp;
	char t[10]={0};
	int a[100];
    int a1[100]={0};
	int a2[100]={0};
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%s%d",str[i],&a[i]);
	for(i=0;i<n;i++)
	{
		strcpy(str1[i],str[i]);
		a1[i]=a[i];
	}
	for(i=0;i<n;i++)
		if(a[i]>=60)
		{
			strcpy(str2[k],str[i]);
			a2[k]=a[i];
			k=k+1;
		}
		for(j=1;j<k;j++)
			for(i=0;i<k-j;i++)
				if(a2[i]<a2[i+1])
				{
					temp=a2[i];
					a2[i]=a2[i+1];
					a2[i+1]=temp;
					strcpy(t,str2[i]);
					strcpy(str2[i],str2[i+1]);
					strcpy(str2[i+1],t);

				}
				for(i=0;i<k;i++)
					printf("%s\n",str2[i]);
				for(i=0;i<n;i++)
					if(a1[i]<60)
						printf("%s\n",str1[i]);
		

}
int main(){
int m,e,n,i,j,k,a[101],b[101],c[101];
char ex[11],s[101][11],s1[101][11],s2[101][11];
scanf("%d",&n);
for(i=0,j=0,k=0;i<n;i++){
scanf("%s %d",s[i],&a[i]);
if(a[i]>=60){
strcpy(s1[j],s[i]);
b[j]=a[i];
            j++;
}
else{
strcpy(s2[k],s[i]);
c[k]=a[i];
k++;
}
}
for(m=1;m<=j;m++){
for(i=0;i<j-m;i++){
if(b[i]<b[i+1]){
strcpy(ex,s1[i]);
strcpy(s1[i],s1[i+1]);
strcpy(s1[i+1],ex);
e=b[i];
b[i]=b[i+1];
b[i+1]=e;
}
}
}
for(i=0;i<j;i++){
printf("%s\n",s1[i]);
}
for(i=0;i<k;i++){
printf("%s\n",s2[i]);
}
return 0;
}
int main ()
{
	int n,k,h,g,m,i,j;
	int max[100];
	char s[100][10];
	struct 
	{
	    char d[10];
		int a;
	}p[100];
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s%d",p[i].d,&p[i].a);
	}
	m=0;
	for(i=0;i<n;i++)
	{
		if(p[i].a>=60)
		{
			m++;
		}
	}
	k=m;
	for(i=0;i<n;i++)
	{
		if(p[i].a<60)
		{
           strcpy(s[k],p[i].d);
		   k=k+1;
		}
	}
	g=0;
	for(j=0;j<m;j++)
	{
		max[j]=59;
		for(i=0;i<n;i++)
		{
			if(p[i].a>max[j])
			{
				max[j]=p[i].a;
				h=i;
			}
		}
		p[h].a=59;
		strcpy(s[g],p[h].d);
		g++;
	}
	for(i=0;i<n;i++)
	{
		printf("%s\n",s[i]);
	}

		return 0;

}
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;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;i++)
      printf("%s\n",ID3[i]);
      getchar();
      getchar();
      getchar();
}
struct patient
{
	char id[20];
	int age;
	int num;
};
int main()
{
	int n,i,j;
	char id1[20];
	int age1,u;
	struct patient temp;
	struct patient *p;
	struct patient a[500];
	scanf("%d",&n);
	p=a;
	u=0;
	for(;p<a+n;p++)
	{
		scanf("%s",id1);
		scanf("%d",&age1);
		strcpy(p->id,id1);
		p->age=age1;
		p->num=u;
		u++;
	}
	p=a;
	for(i=n-2;i>=0;i--)
	{
		for(j=0;j<=i;j++)
		{
			if((*(p+j)).age>=60||(*(p+j+1)).age>=60)
			{
		    	if((*(p+j)).age<(*(p+j+1)).age)
				{
			    	temp=*(p+j);
			    	*(p+j)=*(p+j+1);
				    *(p+j+1)=temp;
				}
			}
			else continue;
		}

	}
	p=a;
	for(;p<a+n;p++)
	{
	
			printf("%s\n",p->id);
	}

	return 0;
}
int main()
{
	int n;
	scanf("%d",&n);
	int nj[N];
	int lr[N],xr[N];
	char zfc[N][20];
	int i;
	int m=0,k=0;
	for(i=0;i<n;i++)
	{
        scanf("%s",zfc[i]);
		scanf("%d",&nj[i]);
	}
    for(i=0;i<n;i++)
	{
		if(nj[i]>=60)
		{
			lr[m]=i;
			m++;
		}
		else
		{
			xr[k]=i;
			k++;
		}
	}
	int j;
	if(m>=2)
	{
	   for(i=0;i<m-1;i++)
	   {
		  for(j=m-1;j>i;j--)
		  {
			  int e;
			  if(nj[lr[j]]>nj[lr[j-1]])
			  {
				
				e=lr[j];
				lr[j]=lr[j-1];
				lr[j-1]=e;
			  }
			  else if(nj[lr[j]]==nj[lr[j-1]]&&(lr[j]<lr[j-1]))
			  {
                
				e=lr[j];
				lr[j]=lr[j-1];
				lr[j-1]=e;
			  }
		  }
	   }
	}
	if(m>=1)
	{
	    for(i=0;i<m;i++)
		{
	         printf("%s\n",zfc[lr[i]]);
		}
	}
	if(k>0)
	{
        for(i=0;i<k;i++)
		{
		    printf("%s\n",zfc[xr[i]]);
		}
	}
	return 0;
}
struct senex
{
       char id[10];
       int age;
       int rec;
} sen[100],t;
int n;

int main()
{
    int i,j,k,l;
    scanf("%d\n",&n);
    for(i=0;i<n;i++)
    {
      scanf("%s%d",sen[i].id,&sen[i].age);
      if(sen[i].age>=60) sen[i].rec=1;
      else sen[i].rec=0;
    }
    for(i=1;i<n;i++)
     for(j=0;j<n-i;j++)
      if(sen[j].rec<sen[j+1].rec)
      {
        t=sen[j];
        sen[j]=sen[j+1];
        sen[j+1]=t;
      }
    k=0;
    while(sen[k].rec==1) k++;
    for(i=1;i<k;i++)
     for(j=0;j<k-i;j++)
      if(sen[j].age<sen[j+1].age)
      {
        t=sen[j];
        sen[j]=sen[j+1];
        sen[j+1]=t;
      }
    //for(i=0;i<n;i++)
     //printf("%d ",sen[i].rec);
    for(i=0;i<n;i++)
     printf("%s\n",sen[i].id);
    scanf("%d",&i);
    return 0;
}
void main()
{
	int n,t,x,i;
	int age[100];
	char c[10],num[100][10];
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%s %d",num[i],&age[i]);

	for(i=0;i<n;i++)
	    if(age[i]>=60)
	
			for(x=i;x>0;x--)
		           if(age[x]>age[x-1])
				   {   t=age[x];age[x]=age[x-1];age[x-1]=t;
			          strcpy(c,num[x]);strcpy(num[x],num[x-1]);strcpy(num[x-1],c);
				   }
			
			
		
	

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