#include<bits/stdc++.h>
using namespace std;
struct P
{
string n;
int y,m,d;
}p[114];
int i,num,j;
bool operator <(P a,P b)
{
return(a.y<b.y||a.y==b.y&&a.m<b.m||a.y==b.y&&a.m==b.m&&a.d<=b.d);
}
void swap(P &a,P &b)
{
string tmp;
int t;
tmp=a.n;
a.n=b.n;
b.n=tmp;
t=a.y;
a.y=b.y;
b.y=t;
t=a.m;
a.m=b.m;
b.m=t;
t=a.d;
a.d=b.d;
b.d=t;
}
int main()
{
cin>>num;
for(i=1;i<=num;i++)
cin>>p[i].n>>p[i].y>>p[i].m>>p[i].d;
for(i=num-1;i>0;i--)
{
for(j=1;j<=i;j++)
{
if((p[j+1]<p[j])==1)swap(p[j+1],p[j]);
}
}
for(i=1;i<=num;i++)
cout<<p[i].n<<endl;
}```