RT
#include<bits/stdc++.h>
using namespace std;
long long n;
struct fenpei{
string names;
string zhiweis,xinzhiweis;
long long rating;
long long gives,xh;
}a[150];
int change(string a){
if(a == "BangZhu"){
return 1;
}
if(a == "FuBangZhu"){
return 2;
}
if(a == "HuFa"){
return 3;
}
if(a == "ZhangLao"){
return 4;
}
if(a == "Tangzhu"){
return 5;
}
if(a == "JingYing"){
return 6;
}
if(a == "BangZhong"){
return 7;
}
}
bool cmp(fenpei a1,fenpei a2){
if(a1.gives == a2.gives) return a1.xh < a2.xh;
return a1.gives > a2.gives;
}
bool cmp2(fenpei a1,fenpei a2){
if(change(a1.xinzhiweis)==change(a2.xinzhiweis)){
if(a1.rating == a2.rating){
return a1.xh < a2.xh;
}
return a1.rating > a2.rating;
}
return change(a1.xinzhiweis) < change(a2.xinzhiweis);
}
int main(){
cin >> n;
for(long long i=1;i<=n;i++){
cin >> a[i].names >> a[i].zhiweis;
cin >> a[i].gives >> a[i].rating;
}
sort(a+4,a+n+1,cmp);
a[1].xinzhiweis = "BangZhu";
a[2].xinzhiweis = "FuBangZhu";
a[3].xinzhiweis = "FuBangZhu";
for(long long i=4;i<=5 && i<=n;i++){
a[i].xinzhiweis = "HuFa";
}
for(long long i=6;i<=9 && i<=n;i++){
a[i].xinzhiweis = "ZhangLao";
}
for(long long i=10;i<=16 && i<=n;i++){
a[i].xinzhiweis = "Tangzhu";
}
for(long long i=17;i<=41 && i<=n;i++){
a[i].xinzhiweis = "JingYing";
}
for(long long i=41;i<=n;i++){
a[i].xinzhiweis = "BangZhong";
}
sort(a+1,a+n+1,cmp2);
for(long long i=1;i<=n;i++){
cout << a[i].names << " " << a[i].xinzhiweis <<" "<< a[i].rating << endl;
}
return 0;
}