#include <stdio.h>
#include <string.h>
struct w
{
char name[101];
int year;
int month;
int day;
int total;
};
int comparison(char word1[101], char word2[101])
{
int i, j;
for(i=0; strlen(word1); i++)
{
if()
{
}
}
}
int main()
{
struct w k[101]= {0};;
int n,i,j,a=0,b=0,c=0,d=0,e=0;
char name[101] = {0};
scanf("%d",&n);
for(i=1; i<=n; i++)
{
scanf("%s %d %d %d",k[i].name,&k[i].year,&k[i].month,&k[i].day);
k[i].total=(k[i].year*10000)+(k[i].month*100)+k[i].day;
}
for(i=1; i<=n; i++)
{
for(j=1; j<n; j++)
{
if(k[j].total > k[j+1].total)
{
strcpy(name, k[j].name);
strcpy(k[j].name, k[j+1].name);
strcpy(k[j+1].name, name );
a=k[j].year;
k[j].year = k[j+1].year;
k[j+1].year = a;
b=k[j].month;
k[j].month = k[j+1].month;
k[j+1].month = b;
c=k[j].day;
k[j].day = k[j+1].day;
k[j+1].day = c;
d=k[j].total;
k[j].total=k[j+1].total;
k[j+1].total=d;
}
else if(k[j].total == k[j+1].total)
{
if(comparison((k[j].name, k[j+1].name)==1)
{
strcpy(name, k[j].name);
strcpy(k[j].name, k[j+1].name);
strcpy(k[j+1].name, name );
}
}
}
}
for(i=1; i<=n; i++)
{
printf("%s\n",k[i].name);
}
return 0;
}