#include <cstdio>
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
struct fhs{
string zhiwei,name;
int wz,bz,gx,dj,bh;
};
fhs a[10101];
bool cmp1(fhs a1,fhs b1)
{
if(a1.bz!=b1.bz)
{
return a1.bz>b1.bz;
}
else if(a1.gx!=b1.gx)
{
return a1.gx>b1.gx;
}
else if(a1.wz!=b1.wz)
{
return a1.wz>b1.wz;
}
else if(a1.dj!=b1.dj)
{
return a1.dj>b1.dj;
}
else
{
return a1.bh<b1.bh;
}
}
bool cmp2(fhs a1,fhs b1)
{
if(a1.bz!=b1.bz)
{
return a1.bz>b1.bz;
}
else if(a1.wz!=b1.wz)
{
return a1.wz>b1.wz;
}
else if(a1.dj!=b1.dj)
{
return a1.dj>b1.dj;
}
else
{
return a1.bh<b1.bh;
}
}
int m;
int main()
{
#ifdef ONLINE_JUDGE
#else
freopen("in.txt","r",stdin);
#endif
cin>>m;
for(int x=0; x<m; x++)
{a[x].bh=x;
cin>>a[x].name>>a[x].zhiwei>>a[x].gx>>a[x].dj;
if(a[x].zhiwei=="BangZhu")
{
a[x].bz=2;
}
else if(a[x].zhiwei=="FuBangZhu")
{
a[x].bz=1;
}
else if(a[x].zhiwei=="HuFa")
{
a[x].wz=100;
}
else if(a[x].zhiwei=="ZhangLao")
{
a[x].wz=90;
}
else if(a[x].zhiwei=="TangZhu")
{
a[x].wz=80;
}
else if(a[x].zhiwei=="JingYing")
{
a[x].wz=70;
}
else if(a[x].zhiwei=="BangZhong")
{
a[x].wz=60;
}
}
sort(a,a+m,cmp1);
for(int x=0; x<m; x++)
{
a[x].wz=0;
a[x].bz=0;
if(x==0)
{
a[x].zhiwei="BangZhu";
}
else if(x<3)
{
a[x].zhiwei="FuBangZhu";
}
else if(x<5)
{
a[x].zhiwei="HuFa";
}
else if(x<9)
{
a[x].zhiwei="ZhangLao";
}
else if(x<16)
{
a[x].zhiwei="TangZhu";
}
else if(x<41)
{
a[x].zhiwei="JingYing";
}
else
{
a[x].zhiwei="BangZhong";
}
if(a[x].zhiwei=="BangZhu")
{
a[x].bz=2;
}
else if(a[x].zhiwei=="FuBangZhu")
{
a[x].bz=1;
}
else if(a[x].zhiwei=="HuFa")
{
a[x].wz=100;
}
else if(a[x].zhiwei=="ZhangLao")
{
a[x].wz=90;
}
else if(a[x].zhiwei=="TangZhu")
{
a[x].wz=80;
}
else if(a[x].zhiwei=="JingYing")
{
a[x].wz=70;
}
else if(a[x].zhiwei=="BangZhong")
{
a[x].wz=60;
}
}
sort(a,a+m,cmp2);
for(int x=0;x<m;x++)
{
cout<<a[x].name<<" "<<a[x].zhiwei<<" "<<a[x].dj<<endl;
}
}