#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int n;
struct rec{
string name,work;
int g,lvl;
}z[150];
bool cmp(rec a,rec b){
if(a.g==b.g) return a.lvl<b.lvl;
else return a.g>b.g;
}
int main(){
freopen("in.in","r",stdin);
scanf("%d",&n);
for(int i=1;i<=n;i++)
cin>>z[i].name>>z[i].work>>z[i].g>>z[i].lvl;
sort(z+4,z+n+1,cmp);
for(int i=1;i<=3;i++) cout<<z[i].name<<" "<<z[i].work<<" "<<z[i].lvl<<endl;
int k=4;
for(int i=1;i<=2;i++){
if(z[k].name.empty()) return 0;
cout<<z[k].name<<" HuFa "<<z[k].lvl<<endl;
k++;
}
for(int i=1;i<=4;i++){
if(z[k].name.empty()) return 0;
cout<<z[k].name<<" ZhangLao "<<z[k].lvl<<endl;
k++;
}
for(int i=1;i<=7;i++){
if(z[k].name.empty()) return 0;
cout<<z[k].name<<" TangZhu "<<z[k].lvl<<endl;
k++;
}
for(int i=1;i<=25;i++){
if(z[k].name.empty()) return 0;
cout<<z[k].name<<" JingYing "<<z[k].lvl<<endl;
k++;
}
for(int i=1;!z[k].name.empty();i++){
cout<<z[k].name<<" BangZhong "<<z[k].lvl<<endl;
k++;
}
return 0;
}
谢调