#include <iostream>
#include <string>
#include <cstring>
#include <algorithm>
using namespace std;
struct ddd{
string name;
string old_jobs;
string new_jobs;
long long bg;
int grade;
int n;
int jobs_num;
};
int compare_1( ddd a, ddd b );
int compare_2( ddd a, ddd b );
void scan_jobs_num( ddd *data, int num );
void print_data( ddd *data, int num );
void scan_new_jobs( ddd *data, int num );
int main( void ){
ddd data[ 120 ];
int num = 0;
cin >> num;
for( int i = 1; i <= num; i ++ ){
cin >> data[ i ].name >> data[ i ].old_jobs >> data[ i ].bg >> data[ i ].grade;
data[ i ].n = i;
}
sort( data + 4, data + num + 1, compare_1 );
scan_new_jobs( data, num );
sort( data + 4, data + num + 1, compare_2 );
scan_jobs_num( data, num );
print_data( data, num );
return 0;
}
int compare_1( ddd a, ddd b ){
if( a.bg == b.bg )
return a.n < b.n;
else
return a.bg > b.bg;
}
int compare_2( ddd a, ddd b ){
if( a.new_jobs == b.new_jobs ){
if ( a.grade == b.grade )
return a.n < b.n;
else
return a.grade > b.grade;
}
else
return a.jobs_num < b.jobs_num;
}
void scan_jobs_num( ddd *data, int num ){
for( int i = 1; i <= num; i ++ ){
if( i >= 1 && i <= 3 ) data[ i ].jobs_num = 1;
else if( i >= 4 && i <= 5 ) data[ i ].jobs_num = 2;
else if( i >= 6 && i <= 9 ) data[ i ].jobs_num = 3;
else if( i >= 10 && i <= 16 ) data[ i ].jobs_num = 4;
else if( i >= 17 && i <= 42 ) data[ i ].jobs_num = 5;
else data[ i ].jobs_num = 6;
}
}
void print_data( ddd *data, int num ){
for( int i = 1; i <= num; i ++ ){
cout << data[ i ].name << " " << data[ i ].new_jobs << " " << data[ i ].grade << endl;
}
}
void scan_new_jobs( ddd *data, int num ){
for( int i = 1; i <= num; i ++ ){
if( i == 1 ) data[ i ].new_jobs = "BangZhu";
else if( i >= 2 && i <= 3 ) data[ i ].new_jobs = "FubangZhu";
else if( i >= 4 && i <= 5 ) data[ i ].new_jobs = "HuFa";
else if( i >= 6 && i <= 9 ) data[ i ].new_jobs = "ZhangLao";
else if( i >= 10 && i <= 16 ) data[ i ].new_jobs = "TangZhu";
else if( i >= 17 && i <= 42 ) data[ i ].new_jobs = "JingYing";
else data[ i ].new_jobs = "BangZhong";
}
}