#include <bits/stdc++.h>
using namespace std;
int n, ky;
bool u;
struct peo {
string name;
int bg, level;
} a[112], h[2], t;
string st;
string ch[39] = {"00", "HuFa", "HuFa", "ZhangLao", "ZhangLao", "ZhangLao", "ZhangLao", "TangZhu", "TangZhu", "TangZhu", "TangZhu", "TangZhu", "TangZhu", "TangZhu", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing", "JingYing"};
int main() {
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> t.name >> st >> t.bg >> t.level;
if (st == "BangZhu") {
cout << t.name << " " << "BangZhu" << " " << t.level << endl;
} else if (st == "FuBangZhu") {
h[u] = t;
u = !u;
} else {
a[++ky] = t;
}
}
cout << h[0].name << " " << "FuBangZhu" << " " << h[0].level << endl;
cout << h[1].name << " " << "FuBangZhu" << " " << h[1].level << endl;
for (int i = 1; i <= ky; i++) {
for (int j = 1; j < ky; j++) {
if (a[j].bg < a[j + 1].bg) {
swap(a[j], a[j + 1]);
}
}
}
if (a[1].level < a[2].level) {
swap(a[1], a[2]);
}
for (int i = 3; i <= 6; i++) {
for (int j = 3; j < 6; j++) {
if (a[j].level < a[j + 1].level) {
swap(a[j], a[j + 1]);
}
}
}
for (int i = 7; i <= 13; i++) {
for (int j = 7; j < 13; j++) {
if (a[j].level < a[j + 1].level) {
swap(a[j], a[j + 1]);
}
}
}
for (int i = 14; i <= 38; i++) {
for (int j = 14; j < 38; j++) {
if (a[j].level < a[j + 1].level) {
swap(a[j], a[j + 1]);
}
}
}
for (int i = 1; i <= min(ky, 38); i++) {
cout << a[i].name << " " << ch[i] << " " << a[i].level << endl;
}
for (int i = 39; i <= ky; i++) {
for (int j = 39; j < ky; j++) {
if (a[j].level < a[j + 1].level)
{
swap(a[j], a[j + 1]);
}
}
}
for (int i = 39; i <= ky; i++) {
cout << a[i].name << " " << "BangZhong" << " " << a[i].level << endl;
}
return 0;
}