#include<bits/stdc++.h>
using namespace std;
int main() {
int n;
cin>>n;
string a[10] = {"","BangZhu","FuBangZhu","HuFa","ZhangLao","TangZhu","JingYing","BangZhong"};
int b[10] = {0,1,2,3,4,5,6,7};
struct inform{
string name;
string jobn;
int job;
int banggong;
int level;
int number;
};
struct inform x[10005],temp;
for(int i = 1; i <= n; i++) {
cin>>x[i].name>>x[i].jobn>>x[i].banggong>>x[i].level;
x[i].number = i;
for(int j = 1; j <= 10; j++){
if(x[i].jobn == a[j]){
x[i].job = b[j];
}
}
}
for(int i = 1; i <= n; i++) {
for(int j = i + 1; j <= n; j++) {
if(x[j].banggong > x[j-1].banggong){
temp = x[j]; x[j] = x[j-1]; x[j-1] = temp;
if(x[j].banggong == x[j-1].banggong){
if(x[i].number > x[j].number){
temp = x[i] ;x[i] = x[j]; x[j] = temp;
}
}
}
}
}
for(int i=1;i<=n;i++)
{
if(x[i].job == 1 || x[i].job == 2) continue;
if(4<=i && i<=5) x[i].job=3;
if(6<=i && i<=9) x[i].job=4;
if(10<=i && i<=16) x[i].job=5;
if(17<=i && i<=41) x[i].job=6;
if(i>=42) x[i].job=7;
}
for (int i = 1; i < n; i++)
for (int j = i + 1; j <= n; j++)
{
if (x[i].job > x[j].job)
{
temp = x[i]; x[i] = x[j]; x[j] = temp;
}
else if (x[i].job == x[j].job)
{
if (x[i].level < x[j].level)
{
temp = x[i]; x[i] = x[j]; x[j] = temp;
}
else if (x[i].level == x[j].level)
{
if (x[i].number > x[j].number)
{
temp = x[i] ;x[i] = x[j]; x[j] = temp;
}
}
}
}
for(int i = 1; i <= n; i++) {
x[i].jobn = a[x[i].job];
}
for(int i = 1; i <= n; i++) {
if(i != n)
cout<<x[i].name<<" "<<x[i].jobn<<" "<<x[i].level<<endl;
else
cout<<x[i].name<<" "<<x[i].jobn<<" "<<x[i].level;
}
return 0;
}