#include<cstdio>
#include<algorithm>
inline void read(int &number){
number=0;
int minus=1;
char got=getchar();
while('9'<got||got<'0'){
if(got=='-'){
minus=-1;
};
got=getchar();
};
while('0'<=got&&got<='9'){
number=number*10+got-'0';
got=getchar();
};
number*=minus;
};
inline void write(const int &number){
if(number<0){
putchar('-');
};
if(number>9){
write(number/10);
};
putchar(number%10+'0');
};
struct node{
int number,chinese,maths,english,score;
inline void input(int _number){
read(chinese);
read(maths);
read(english);
score=chinese+maths+english;
number=_number;
};
inline void output(void){
write(number);
putchar(' ');
write(score);
putchar('\n');
};
}student[333];
inline bool comp(const node &cmp1,const node &cmp2){
if(cmp1.score==cmp2.score){
if(cmp1.chinese==cmp1.chinese){
return cmp1.number<cmp2.number;
};
return cmp1.chinese>cmp2.chinese;
};
return cmp1.score>cmp2.score;
};
inline void sort(const int &size){
std::sort(student+1,student+1+size,comp);
};
int maxn;
int main(int argc,char **argv){
scanf("%d",&maxn);
for(int it=1;it<=maxn;it++){
student[it].input(it);
};
sort(maxn);
for(int it=1;it<=5;it++){
student[it].output();
};
return 0;
};
#6 #7 #8 过不了。