#include<iostream>
#include<algorithm>
using namespace std;
int n;
struct kert{
int year,month,day,k;
string name;
}a[1001];
int part(kert a,kert b)
{
if(a.year<b.year)
{
return a.year<b.year;
}else
{
if(a.year==b.year&&a.month<b.month)
{
return a.month<b.month;
}else
{ if(a.year==b.year&&a.month==b.month&&a.day<b.day)
{
return a.day<b.day;
}else
{
if(a.year==b.year&&a.month==b.month&&a.day==b.day)
return a.k>b.k;
}
}
}
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i].name>>a[i].year>>a[i].month>>a[i].day;
a[i].k=i;
}
stable_sort(a+1,a+n+1,part);
for(int i=1;i<=n;i++)
{
cout<<a[i].name<<endl;
}
return 0;
}