#include<stdio.h>
int main()
{
struct
{
char s[20];
int y,m,d;
}f[100],t;
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%s %d %d %d\n",f[i].s,&f[i].y,&f[i].m,&f[i].d);
}
for(int i=0;i<n-1;i++)
{
for(int j=0;j<n-1-i;j++)
{
if((f[j].y>f[j+1].y)||(f[j].y==f[j+1].y&&f[j].m>f[j+1].m)||(f[j].y==f[j+1].y&&f[j].m==f[j+1].m&&f[j].d>f[j+1].d))
{
t=f[j];
f[j]=f[j+1];
f[j+1]=t;
}
}
}
for(int i=0;i<n;i++)
{
printf("%s\n",f[i].s);
}
}