#include<bits/stdc++.h>
using namespace std;
struct node
{
string name;
int y,m,d;
int index;
}s[105];
bool cmp(node a,node b)
{
if(a.y>b.y)return 0;
if(a.y<=b.y)return 1;
if(a.y==b.y)
{
if(a.m>b.m)return 0;
if(a.m<=b.m)return 1;
if(a.m==b.m)
{
if(a.d>b.d)return 0;
if(a.d<=b.d)return 1;
if(a.d==b.d)
{
if(a.index>b.index)return 1;
else return 0;
}
}
}
}
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>s[i].name>>s[i].y>>s[i].m>>s[i].d;
s[i].index=1;
}
sort(s+1,s+n+1,cmp);
for(int i=1;i<=n;++i)
{
cout<<s[i].name<<endl;
}
return 0;
}