//#include <stdio.h>
//
//struct hmm
//{
// int a;
// int b;
// int c;
//};
//int main()
//{
// int n, k, i, j, max = -1, d[100] = {}, e = 0;
// struct hmm g[200]= {0};
// int kp;
//
// scanf("%d", &n);
//
// for(i=0; i<n; i++)
// scanf("%d %d %d", &g[i].a, &g[i].b, &g[i].c);
//
//
// for(i=0; i<2; i++)
// {
// max = -1;
// for(j=0; j<n; j++)
// {
// if(max<g[j].c)
// {
// max = g[j].c;
// //g[j].c = -1;
// kp = j;
// }
// }
// d[g[kp].a]++;
// g[kp].c = -1;
// printf("%d %d\n", g[kp].a, g[kp].b);
// }
//// for(i=0; i<=n; i++) {
//// printf("%d\n", d[i]);
//// }
// for(i=0; i<n; i++)
// {
// if(d[i]==2)
// {
// for(j=0; j<n; j++)
// {
// if(g[j].a == i)
// {
// g[j].c = 0;
// }
// }
// }
// }
//
// max = -1;
//
// for(j=0; j<n; j++)
// {
// if(max<g[j].c)
// {
// max = g[j].c;
// kp = j;
// }
// }
// printf("%d %d\n", g[kp].a, g[kp].b);
//
//
//
//
//
//
// return 0;
//}
//
#include <stdio.h>
struct hmm
{
char a[10];
int b;
int c;
int d;
};
int main()
{
int n, i, max = -1, k, j, h[100] = {0}, hh[100] = {0};
struct hmm e[200];
scanf("%d", &n);
for(i=0; i<n; i++)
{
scanf("%s %d %d %d", e[i].a, &e[i].b, &e[i].c, &e[i].d);
h[i]++;
hh[i]++;
}
for(i=0; i<n; i++)
{
if(max<e[i].b)
{
max = e[i].b;
k = i;
}
}
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
if(e[i].c < e[j].c)
{
h[i]++;
}
}
}
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
if(e[i].d < e[j].d)
{
hh[i]++;
}
}
}
printf("%s %d %d", e[k].a, h[k], hh[k]);
return 0;
}