#include<iostream>
#include<algorithm>
#define int long long
using namespace std;
const int N = 105;
struct node {
string name;
int qimuo,banji,lunwen;
char g,w;
bool ganbu,xisheng;
int id;
}a[N];
int n,sum;
int dfs(node x) {
int sum = 0;
if(x.qimuo > 80 && x.lunwen >= 1)sum += 8000;
if(x.qimuo > 85 && x.banji > 80)sum += 4000;
if(x.qimuo > 90)sum += 2000;
if(x.xisheng && x.qimuo > 85)sum += 1000;
if(x.banji > 80 && x.ganbu)sum += 850;
return sum;
}
bool cmp(node a,node b) {
int suma = dfs(a);
int sumb = dfs(b);
if(suma != sumb)return (suma > sumb ? 0 : 1);
else return(suma == sumb && a.id < b.id ? 0 : 1);
}
signed main() {
cin >> n;
for(int i = 1;i <= n;++i) {
cin >> a[i].name >> a[i].qimuo >> a[i].banji >> a[i].g >> a[i].w >> a[i].lunwen;
a[i].id = i;
a[i].ganbu = (a[i].g == 'Y' ? 1 : 0);
a[i].xisheng = (a[i].w == 'Y' ? 1 : 0);
sum += dfs(a[i]);
}
sort(a + 1,a + 1 + n,cmp);
int pos = n;
for(int i = 1;i <= n;++i) {
if(dfs(a[i]) == dfs(a[n]) && i < n) {
pos = i;
break;
}
}
cout << a[pos].name << endl << dfs(a[pos]) << endl << sum;
return 0;
}