/*
#include <stdio.h>
#include <string.h>
typedef struct
{
char m[100];
int w;
}schedule;
void main(){
schedule a[10000]={},t;
int n,i,j,l,d;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%s %d %d %d",a[i].m,&j,&l,&d);
a[i].w=j*10000+l*100+d;
}
for(i=0;i<=n;i++){
for(j=0,d=0;j<n-1;j++){
if(a[j].w>a[j+1].w){
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
d++;
}
else if(a[j].w==a[j+1].w&&strcmp(a[j].m,a[j+1].m)>0){
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
d++;
}
}
if(d==0) break;
}
for(i=0;i<n;i++){
printf("%s\n",a[i].m);
}
return ;
}
/*
char s1[500] = "hello";
char s2[500] = "jello";
if(strcmp(s1,s2)==0) //완벽히 똑같은 문자열이니?
한 페이지에 한 단어가 있는 사전이 있다고 쳤을때,
strcmp(s1,s2)<0 :사전식이니?
strcmp(s2,s1)>0 : 사전식으로 거꾸로있니?
strcmp(s2,s2)==0 : 같은 페이지에 있니? ( 같은 단어니?)
*/