#include<bits/stdc++.h>
using namespace std;
int n;
struct Node
{
string mz, zw;
int bg, dj;
}a[111];
bool cmp(Node i, Node j)
{
if (i.dj != j.dj) return i.dj > j.dj;
}
bool cmp1(Node i, Node j)
{
if (i.bg != j.bg) return i.bg > j.bg;
}
int main()
{
cin >> n;
for (int i = 1; i <= 3; i++)
{
cin >> a[0].mz >> a[0].zw >> a[0].bg >> a[0].dj;
cout << a[0].mz << " " << a[0].zw << " " << a[0].dj << endl;
}
n -= 3;
for (int i = 1; i <= n; i++)
cin >> a[i].mz >> a[i].zw >> a[i].bg >> a[i].dj;
sort(a + 1, a + n + 1, cmp);
for (int i = 1; i <= n ; i++)
{
if (i <= 2)
a[i].zw = "HuFa";
else if (i <= 6)
a[i].zw = "ZhangLao";
else if (i <= 13)
a[i].zw = "TangZhu";
else if (i <= 38)
a[i].zw = "JingYing";
else
a[i].zw = "BangZhong";
}
sort(a + 1, a + n + 1, cmp1);
for (int i = 1; i <= n; i++)
if (a[i].zw == "HuFa" )
cout << a[i].mz << " " << a[i].zw << " " << a[i].dj << endl;
for (int i = 1; i <= n; i++)
if (a[i].zw == "ZhangLao")
cout << a[i].mz << " " << a[i].zw << " " << a[i].dj << endl;
for (int i = 1; i <= n; i++)
if (a[i].zw == "TangZhu")
cout << a[i].mz << " " << a[i].zw << " " << a[i].dj << endl;
for (int i = 1; i <= n; i++)
if (a[i].zw == "JingYing")
cout << a[i].mz << " " << a[i].zw << " " << a[i].dj << endl;
for (int i = 1; i <= n; i++)
if (a[i].zw == "BangZhong")
cout << a[i].mz << " " << a[i].zw << " " << a[i].dj << endl;
return 0;
}