#include<iostream>
using namespace std;
#include<string>
#include<algorithm>
struct GH
{
string name;
string zhiwu;
long long gx;
int grade;
}gh[110];
bool cmp1(GH a, GH b)
{
return a.gx > b.gx;
}
bool cmp2(GH a, GH b)
{
return a.grade > b.grade;
}
int main()
{
int n;
cin >> n;
int i;
for (i = 0; i < n; i++)
{
cin >> gh[i].name >> gh[i].zhiwu >> gh[i].gx >> gh[i].grade;
}
sort(gh+3, gh + n, cmp1);
for (i = 3; i < 5; i++)
{
gh[i].zhiwu = "HuFa";
}
sort(gh + 4, gh + 5, cmp2);
for (i = 5; i<(9>n ? n : 9); i++)
{
gh[i].zhiwu = "ZhangLao";
}
if(n>6)
sort(gh + 6, gh + (9 > n ? n : 9), cmp2);
for (i = 9; i<(16>n ? n :16); i++)
{
gh[i].zhiwu = "TangZhu";
}
if(n>10)
sort(gh + 10, gh + (16 > n ? n : 16), cmp2);
for (i = 16; i<(41>n ? n : 41); i++)
{
gh[i].zhiwu = "JingYing";
}
if (n > 17)
sort(gh + 17, gh + (41 > n ? n : 41), cmp2);
for (i = 41; i < n; i++)
{
gh[i].zhiwu = "BangZhong";
}
if (n > 41)
{
sort(gh + 42, gh + n,cmp2);
}
for (int i=0; i < n; i++)
{
cout << gh[i].name << " " << gh[i].zhiwu << " " << gh[i].grade << endl;
}
return 0;
}