/*
#include <stdio.h>
double x;
long long int f(double x)
{
long long int t=(long long int)x;
if(t<x)
{
return x+1;
}
else
{
return x;
}
}
int main()
{
scanf("%lf", &x);
printf("%lld\n", f(x));
}
*
#include <stdio.h>
double x;
long long int f(double x)
{
long long int t=(long long int)x;
{
if(t>x)
{
return x-1;
}
else
{
return x;
}
}
}
int main()
{
scanf("%lf", &x);
printf("%lld\n", f(x));
}
*/
/*
#include <stdio.h>
typedef struct
{
int age;
}student;
int main()
{
//int age_arr[100];
//char grade_arr[100];
student st[100]; //st[0] ~ st[99]
st[0].age=10;
st[0].grade='A';
}
*
#include <stdio.h>
typedef struct
{
int rank;
int score;
}student;
int main()
{
student st[201];
int i, j, n, c=1;
scanf("%d", &n);
for(i=1; i<=n; i++)
{
scanf("%d", &st[i].score);
}
for(i=1; i<=n; i++)
{
c=1;
for(j=1; j<=n; j++)
{
if(st[i].score<st[j].score)
{
c++;
}
}
st[i].rank=c;
printf("%d %d\n", st[i].score, c);
}
}
*/
#include <stdio.h>
typedef struct
{
char name[11];
int s1, s2, s3;
}student;
int main()
{
int i, j, n, s, max=1, c=1,a=1;
student st[103];
scanf("%d", &n);
for(i=1; i<=n; i++)
{
scanf("%s %d %d %d", st[i].name, &st[i].s1, &st[i].s2, &st[i].s3);
}
for(i=1; i<=n; i++)
{
if(st[max].s1<st[i].s1)
{
max=i;
}
}
for(i=1; i<=n; i++)
{
if(st[max].s2<st[i].s2)
{
c++;
}
if(st[max].s3<st[i].s3)
{
a++;
}
}
printf("%s %d %d", st[max].name, c, a);
}



