#include<iostream>
#include<string>
#include<cstring>
#include<algorithm>
using namespace std;
struct btd{
string name;
int year,day,month;
int id;
};
bool cmp(btd a,btd b){
if(a.year>b.year)return 0;
if(a.year<b.year)return 1;
if(a.year==b.year){
if(a.month>b.month)return 0;
if(a.month<b.month)return 1;
if(a.month==b.month){
if(a.day>b.day)return 0;
if(a.day<b.day)return 1;
if(a.day==b.day){
if(a.id>b.id)return 0;
if(a.id<b.id)return 1;
}
}
}
}
int main(){
int n;
cin>>n;
btd a[n];
for(int i=0;i<n;i++){
cin>>a[i].name>>a[i].year>>a[i].month>>a[i].day;
a[i].id=i;
}
sort(a,a+n,cmp);
for(int i=0;i<n;i++)cout<<a[i].name<<endl;
return 0;
}