#include<bits/stdc++.h>
using namespace std;
const int N = 150;
struct node {
string s, zhi;
long long zw, gong, lv, num;
} ans[N];
queue<string> f;
queue<int> q;
int n;
void qsort(int l, int r) {
int mid = (l + r) / 2, i = l, j = r;
do {
while (ans[i].gong > ans[mid].gong ||
(ans[i].gong == ans[mid].gong && ans[i].lv > ans[mid].lv)) i++;
while (ans[j].gong < ans[mid].gong ||
(ans[j].gong == ans[mid].gong && ans[j].lv < ans[mid].lv)) j--;
if (i <= j) {
swap(ans[i], ans[j]);
i++, j--;
}
} while (i <= j);
if (l < j) qsort(l, j);
if (i < r) qsort(i, r);
}
void sort1(int l, int r) {
int mid = (l + r) / 2, i = l, j = r;
do {
while (ans[i].zw > ans[mid].zw ||
(ans[i].zw == ans[mid].zw && ans[i].lv > ans[mid].lv) ||
(ans[i].zw == ans[mid].zw && ans[i].lv == ans[mid].lv &&
ans[i].num < ans[mid].num)) i++;
while (ans[j].zw < ans[mid].zw ||
(ans[j].zw == ans[mid].zw && ans[j].lv < ans[mid].lv) ||
(ans[j].zw == ans[mid].zw && ans[j].lv == ans[mid].lv &&
ans[j].num > ans[mid].num)) j--;
if (i <= j) {
swap(ans[i], ans[j]);
i++, j--;
}
} while (i <= j);
if (l < j) sort1(l, j);
if (i < r) sort1(i, r);
}
void scf() {
cin >> n;
for (int i = 0; i < n; i++) {
cin >> ans[i].s >> ans[i].zhi >> ans[i].gong >> ans[i].lv;
ans[i].num = i + 1;
if (ans[i].zhi == "BangZhu") ans[i].zw = 6;
if (ans[i].zhi == "FuBangZhu") ans[i].zw = 5;
if (ans[i].zhi == "HuFa") ans[i].zw = 4;
if (ans[i].zhi == "ZhangLao") ans[i].zw = 3;
if (ans[i].zhi == "TangZhu") ans[i].zw = 2;
if (ans[i].zhi == "JingYing") ans[i].zw = 1;
if (ans[i].zhi == "BangZhong") ans[i].zw = 0;
}
for (int i = 0; i < 2; i++) f.push("HuFa"), q.push(4);
for (int i = 0; i < 4; i++) f.push("ZhangLao"), q.push(3);
for (int i = 0; i < 7; i++) f.push("TangZhu"), q.push(2);
for (int i = 0; i < 25; i++) f.push("JingYing"), q.push(1);
for (int i = 0; i < n; i++) f.push("BangZhong"), q.push(0);
}
int main() {
scf();
qsort(0, n - 1);
for (int i = 0; i < n; i++) {
if (ans[i].zw < 5) {
ans[i].zhi = f.front();
f.pop();
ans[i].zw = q.front();
q.pop();
}
}
sort1(0, n - 1);
for (int i = 0; i < n; i++)
cout << ans[i].s << " " << ans[i].zhi << " " << ans[i].lv << endl;
return 0;
}