struct node {
int yu, shu, ying;
} t[10000];
for (int i = n; i >= 1; i--) {
for (int j = 1; j <= i; j++) {
if (all[j] < all[j + 1]) { swap(all[j], all[j + 1]);
swap(num[j], num[j + 1]);
swap(t[j].yu, t[j + 1].yu); }
}
}
struct node {
int yu, shu, ying;
} t[10000];
int num[100000], all[1000000];
int main() {
int n, sum = 1;
cin >> n;
for (int i = 1; i <= n; i++) {
scanf("%d%d%d", &t[i].yu, &t[i].shu, &t[i].ying);
all[sum] = all[sum] + t[i].yu + t[i].shu + t[i].ying; num[sum] += i; sum++;
}
for (int i = n; i >= 1; i--) {
for (int j = 1; j <= i; j++) {
if (all[j] < all[j + 1]) {
swap(all[j], all[j + 1]);
swap(num[j], num[j + 1]);
swap(t[j].yu, t[j + 1].yu); }
}
}
for (int i = n; i >= 1; i--) {
for (int j = 1; j <= i; j++) {
if (all[j] == all[j + 1] && t[j].yu < t[j + 1].yu) {
swap(all[j], all[j + 1]);
swap(num[j], num[j + 1]);
swap(t[j].yu, t[j + 1].yu);排序语文成绩的同时交换总成绩
}
}
}
for (int i = 1; i <= n; i++) {
if (all[i] == all[i + 1] && num[i] > num[i + 1] && t[i].yu == t[i + 1].yu) {
swap(num[i], num[i + 1]); }
}
for (int i = 1; i <= 5; i++) {
printf("%d %d\n", num[i], all[i]); }
}