#include <bits/stdc++.h>
using namespace std;
int n, k = 0, le = 5, su = 0, b[6] = {0, 25, 7, 4, 2};
struct rode {
string name, st;
int zhiwei, jin;
int s;
} a[119];
bool cmp(rode x, rode y) {
if (x.zhiwei != y.zhiwei)
return x.zhiwei > y.zhiwei;
else
return x.s > y.s;
}
bool cmp1(rode x, rode y) {
return x.jin > y.jin;
}
int main() {
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> a[i].name >> a[i].st >> a[i].jin >> a[i].s;
if (a[i].st == "BangZhu")
a[i].zhiwei = 7;
if (a[i].st == "FuBangZhu")
a[i].zhiwei = 6;
if (a[i].st == "HuFa")
a[i].zhiwei = 5;
if (a[i].st == "ZhangLao")
a[i].zhiwei = 4;
if (a[i].st == "TangZhu")
a[i].zhiwei = 3;
if (a[i].st == "JingYing")
a[i].zhiwei = 2;
if (a[i].st == "BangZhong")
a[i].zhiwei = 1;
}
stable_sort(a + 1, a + n + 1, cmp);
for (int i = 1; i <= n; i++) {
if (a[i].st == "HuFa") {
k = i;
break;
}
}
stable_sort(a + k, a + n + 1, cmp1);
for (int i = k; i <= n; i++) {
if (le == 1)
a[i].st = "BangZhong";
else {
if (su == b[le]) {
le++;
su = 0;
} else {
su++;
if (b[le] == 2)
a[i].st = "HuFa";
if (b[le] == 4)
a[i].st = "ZhangLao";
if (b[le] == 7)
a[i].st = "TangZhu";
if (b[le] == 25)
a[i].st = "JingYing";
}
}
}
for (int i = 1; i <= n; i++) {
cout << a[i].name << ' ' << a[i].st << ' ' << a[i].s << '\n';
}
return 0;
}