#include<bits/stdc++.h>
#define int long long
using namespace std;
struct fff
{
string name,po;
int con,lev,pos;
}peo[120];
bool cmp1(fff x,fff y);
bool cmp2(fff x,fff y);
signed main()
{
int n;cin>>n;
for(int i=1;i<=n;i++)cin>>peo[i].name>>peo[i].po>>peo[i].con>>peo[i].lev;
sort(peo+3+1,peo+n+1,cmp1);
peo[1].po="BangZhu";peo[1].pos=7;
peo[2].po="FuBangZhu";peo[2].pos=6;peo[3].po="FuBangZhu";peo[3].pos=6;
for(int i=4;i<=n;i++)
{
if(4<=i&&i<=5)
{
peo[i].po="HuFa";
peo[i].pos=5;
}
else if(6<=i&&i<=9)
{
peo[i].po="ZhangLao";
peo[i].pos=4;
}
else if(10<=i&&i<=16)
{
peo[i].po="TangZhu";
peo[i].pos=3;
}
else if(17<=i&&i<=41)
{
peo[i].po="JingYing";
peo[i].pos=2;
}
else
{
peo[i].po="BangZhong";
peo[i].pos=1;
}
}
sort(peo+3+1,peo+n+1,cmp2);
for(int i=1;i<=n;i++)cout<<peo[i].name<<" "<<peo[i].po<<" "<<peo[i].lev<<endl;
return 0;
}
bool cmp1(fff x,fff y)
{
return x.con>y.con;
}
bool cmp2(fff x,fff y)
{
if(x.pos==y.pos)return x.lev>y.lev;
return x.pos>y.pos;
}