/*#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 310;
struct Person{
int id, sum, a, b, c;
bool operator< (const Person& t) const {
if (sum != t.sum) return sum > t.sum;
if (a != t.a) return a > t.a;
return id < t.id;
}
}q[N];
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; i ++) {
int a, b, c;
cin >> a >> b >> c;
q[i] = {i, a + b + c, a, b, c};
}
sort(q + 1, q + 1 + n);
for (int i = 1; i <= 5; i ++) {
cout << q[i].id << ' ' << q[i].sum << endl;
}
return 0;
}
*/
//使用自定义函数的写法
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 310;
int n;
struct Person {
int id, sum, a, b, c;
}q[N];
//此时来定义两个比较函数,比较的时候是来比较两个结构体中的相应的元素
bool cmp(Person& a, Person& b) {
if (a.sum != b.sum) return a.sum > b.sum;
if (a.a != b.a) return a.a > b.a;
return a.id < b.id;
}
int main() {
cin >> n;
for (int i = 1; i <= n; i ++) {
int a, b, c;
cin >> a >> b >> c;
q[i] = {i, a + b + c, a, b, c};
}
//此时需要传入一个比较函数
sort(q + 1, q + 1 + n, cmp);
for (int i = 1; i <= 5; i ++) {
cout << q[i].id << ' ' << q[i].sum << endl;
}
return 0;
}