#include <cstdio>
#include <iostream>
#include <algorithm>
#include <vector>
struct student//学生结构体
{
int id;//学号
int s1;//语文成绩
int s2;//数学成绩
int s3;//英语成绩
int s;//总成绩
};
using namespace std;
bool cmp(const student&a,const student&b)//自定义排序函数
{
if(a.s!=b.s)//当总成绩不相等的时候
{
return a.s>b.s;
}
else if(a.s1!=b.s1)//当语文成绩不相等的情况
{
return a.s1>b.s1;
}
else
{
return a.id<b.id;//当二者都相等,比较学号
}
}
int main()
{
int n,i;
cin >> n;//输入n
vector <student> Student(n);//可动态变化的容器
for(i=0;i<n;i++)
{
Student[i].id=i+1;
cin >> student[i].s1;
cin >> student[i].s2;
cin >> student[i].s3;
student[i].s=student[i].s1+student[i].s2+student[i].s3;
}//输入结构体各项数据
sort(student.begin(),student.end(),cmp);//sort对结构体进行排序
for(i=0;i<5;i++)
{
cout<<student[i].id<<" "<<student[i].s<<endl;//输出前五个
}
return 0;
}