#include <bits/stdc++.h>
using namespace std;
struct fish{
string name,id;//名字,身份证号
int age;//年龄
int sex;//性别
int index;//报道顺序
int power;//能力值
}a[1005];
bool cmp(fish x, fish y) {
//小孩
if(x.age<100||y.age<100){
if(x.age==y.age) return x.index<y.index;
else return x.age<y.age;
}
//老年
else if(x.age>1000||y.age>1000){
if(x.age==y.age) return x.index<y.index;
else return x.age>y.age;
}
//成年
else{
if(x.sex!=y.sex) return x.sex<y.sex;
else if(!x.sex&&!y.sex){
if(x.age==y.age) return x.index<y.index;
else return x.age<y.age;
}
else if(x.sex&&y.sex){
if(x.power==y.power) return x.index<y.index;
else return x.power<y.power;
}
}
return true;
}
int main() {
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].name>>a[i].id;
string s=a[i].id;
a[i].age=2000-stoi(s.substr(6,4));
a[i].sex=(s[16]-‘0’)%2;
a[i].index=i;
a[i].power=stoi(s.substr(18,90));
}
sort(a+1,a+1+n,cmp);
for(int i=1;i<=n;i++) cout<<a[i].name<<endl;
return 0;
}