#include<bits/stdc++.h>
using namespace std;
struct Men
{
string name, job1;
long long job2, help, leve;
};
bool comp3(Men a, Men b)
{
if(a.job2 != b.job2) return a.job2 < b.job2;
else return a.leve > b.leve;
}
bool comp1(Men a, Men b)
{
return a.help > b.help;
}
class Prob
{
public:
Men men[115];
long long how;
void inpu()
{
cin >> how;
for(int i = 1; i <= how; i++)
{
cin >> men[i].name >> men[i].job1 >> men[i].help >> men[i].leve;
if(men[i].job1[0] == 'B' && men[i].job1[6] == 'u') men[i].job2 = 1;
else if(men[i].job1[0] == 'F') men[i].job2 = 2;
else if(men[i].job1[0] == 'H') men[i].job2 = 3;
else if(men[i].job1[0] == 'Z') men[i].job2 = 4;
else if(men[i].job1[0] == 'T') men[i].job2 = 5;
else if(men[i].job1[0] == 'J') men[i].job2 = 6;
else men[i].job2 = 7;
}
}
void comp2()
{
sort(men + 4, men + how + 1, comp1);
}
void body()
{
for(int i = 4; i <= 5; i++) men[i].job2 = 3;
for(int i = 6; i <= 9; i++) men[i].job2 = 4;
for(int i = 10; i <= 16; i++) men[i].job2 = 5;
for(int i = 17; i <= 41; i++) men[i].job2 = 6;
for(int i = 42; i <= how; i++) men[i].job1 = 7;
}
void comp4()
{
sort(men + 1, men + how + 1 , comp3);
}
void prin()
{
for(int i = 1; i <= how; i++)
{
cout << men[i].name << " ";
switch(men[i].job2)
{
case 1:
cout << "BangZhu" << " ";
break;
case 2:
cout << "FuBangZhu" << " ";
break;
case 3:
cout << "HuFa" << " ";
break;
case 4:
cout << "ZhangLao" << " ";
break;
case 5:
cout << "TangZhu" << " ";
break;
case 6:
cout << "JingYing" << " ";
break;
default:
cout << "BangZhong" << " ";
break;
}
cout << men[i].leve << endl;
}
}
};
int main()
{
//freopen("CS.in", "r", stdin);
Prob prob;
prob.inpu();
prob.comp2();
prob.body();
prob.comp4();
prob.prin();
return 0;
}