#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
struct people{
string na;
string zhi;
int ba,le,sh;
}a[200];
bool cmp(people a,people b){
if(a.zhi=="BangZhu")return true;
else if(b.zhi=="BangZhu") return false;
else if(b.zhi=="FuBangZhu" && a.zhi!="FuBangZhu") return false;
else if(a.zhi=="FuBangZhu" && b.zhi!="FuBangZhu") return true;
else if(a.zhi=="FuBangZhu" && b.zhi==a.zhi) return a.sh<b.sh;
else return a.ba>b.ba;
}
bool pmc(people a,people b){
if(a.le==b.le){
return a.sh<b.sh;
}
else return a.le>b.le;
}
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].na>>a[i].zhi>>a[i].ba>>a[i].le;
a[i].sh=i;
}
sort(a+1,a+n+1,cmp);
if(n>=5){
sort(a+4,a+6,pmc);
if(n>=9){
sort(a+6,a+10,pmc);
if(n>=16){
sort(a+10,a+17,pmc);
if(n>=41){
sort(a+17,a+42,pmc);
if(n>42){
sort(a+42,a+n+1,pmc);
}
}
else if(n>17){
sort(a+17,a+n+1,pmc);
}
}
else if(n>10){
sort(a+10,a+n+1,pmc);
}
}
else if(n>6){
sort(a+6,a+n+1,pmc);
}
}
for(int i=1;i<=n;i++){
if(i==1)cout<<a[i].na<<' '<<"BangZhu"<<' '<<a[i].le<<endl;
else if(i>1 && i<=3) cout<<a[i].na<<' '<<"FuBangZhu"<<' '<<a[i].le<<endl;
else if(i>3 && i<=5) cout<<a[i].na<<' '<<"HuFa"<<' '<<a[i].le<<endl;
else if(i>5 && i<=9) cout<<a[i].na<<' '<<"ZhangLao"<<' '<<a[i].le<<endl;
else if(i>9 && i<=16) cout<<a[i].na<<' '<<"TangZhu"<<' '<<a[i].le<<endl;
else if(i>16 && i<=41) cout<<a[i].na<<' '<<"JingYing"<<' '<<a[i].le<<endl;
else cout<<a[i].na<<' '<<"BangZhong"<<' '<<a[i].le<<endl;
}
}