#include <stdio.h>
#include <stdlib.h>
struct node{
char s[2000];
int y,m,d;
}a[2000],b[1000];
int main()
{ int i,j,n;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s %d %d %d",a[i].s,&a[i].y,&a[i].m,&a[i].d);
}
for(i=0;i<n;i++)
{ for(j=0;j<n-i-1;j++)
{
if(a[j].y>a[j+1].y)
{b[j]=a[j];
a[j]=a[j+1];
a[j+1]=b[j];}
if(a[j].y==a[j+1].y&&a[j].m>a[j+1].m)
{
b[j]=a[j];
a[j]=a[j+1];
a[j+1]=b[j];
}
if(a[j].y==a[j+1].y&&a[j].m==a[j+1].m&&a[j].d>a[j+1].d)
{
b[j]=a[j];
a[j]=a[j+1];
a[j+1]=b[j];
}
if(a[j].y==a[j+1].y&&a[j].m==a[j+1].m&&a[j].d==a[j+1].d)
{
b[j]=a[j];
a[j]=a[j+1];
a[j+1]=b[j];
}
}
}
for(i=0;i<n;i++)
{
printf("%s\n",a[i].s);
}
return 0;
}