//b1015/a1062
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
struct People {
int de, cai;
int total;
char id[10];
int isClass;
} obj[100010];
bool cmp(People a, People b) {
if (a.isClass != b.isClass)
return a.isClass < b.isClass;
else if (a.total != b.total)
return a.total > b.total;
else if (a.de != b.de)
return a.de > b.de;
else
return strcmp(a.id, b.id) < 0;
}
int main() {
int N, L, H;
scanf("%d%d%d", &N, &L, &H);
int count = 0;
for (int i = 0; i < N; i++) {
scanf("%s %d %d", obj[i].id, &obj[i].de, &obj[i].cai);
obj[i].total = obj[i].de + obj[i].cai;
if (obj[i].de >= H && obj[i].cai >= H) {
obj[i].isClass = 1;
count++;
} else if (obj[i].de >= H && obj[i].cai < H && obj[i].cai >= L) {
obj[i].isClass = 2;
count++;
} else if (obj[i].de < H && obj[i].cai < H && obj[i].de >= L && obj[i].cai >= L && obj[i].de >= obj[i].cai) {
obj[i].isClass = 3;
count++;
} else if (obj[i].de >= L && obj[i].cai >= L) {
obj[i].isClass = 4;
count++;
} else {
obj[i].isClass = 5;
}
}
sort(obj, obj + N, cmp);
printf("%d\n", count);
for (int i = 0; i < count; i++)
printf("%s %d %d\n", obj[i].id, obj[i].de, obj[i].cai);
return 0;
}
//a1025
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
struct Stu {
char num[15];
int score, position;
int localRank;
int finalRank;
} obj[30010];
bool cmp(Stu a, Stu b) {
if (a.score == b.score)
return strcmp(a.num, b.num) < 0;
else
return a.score > b.score;
}
int main() {
int location;
scanf("%d", &location);
int index = 0;
for (int i = 1; i <= location; i++) {
int n;
scanf("%d", &n);
for (int j = 0; j < n; j++) {
scanf("%s %d", obj[index].num, &obj[index].score);
obj[index].position = i;
index++;
}
sort(obj + index - n, obj + index, cmp);
obj[index - n].localRank = 1;
for (int j = index - n + 1; j < index; j++) {
if (obj[j].score == obj[j - 1].score)
obj[j].localRank = obj[j - 1].localRank;
else
obj[j].localRank = j - index + n + 1;
}
}
sort(obj, obj + index, cmp);
printf("%d\n", index);
obj[0].finalRank = 1;
printf("%s %d %d %d\n", obj[0].num, obj[0].finalRank, obj[0].position, obj[0].localRank);
for (int i = 1; i < index; i++) {
if (obj[i].score == obj[i - 1].score)
obj[i].finalRank = obj[i - 1].finalRank;
else
obj[i].finalRank = i + 1;
printf("%s %d %d %d\n", obj[i].num, obj[i].finalRank, obj[i].position, obj[i].localRank);
}
return 0;
}