#include <stdio.h>
typedef struct student {
char name[100];
int y;
int m;
int d;
}Stu;
Stu a[1000];
int compare(int i);
int main() {
int n;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%s %d %d %d", &a[i].name, &a[i].y, &a[i].m, &a[i].d);
}
if (n > 1) {
for (int j = 1; j <= n - 1; j++) {
for (int i = 0; i < n-1 ; i++) {
if (compare(i)) {
Stu t = a[i];
a[i] = a[i + 1];
a[i + 1] = t;
}
}
}
}
for (int i = 0; i < n; i++) {
printf("%s\n", a[i].name);
}
}
int compare(int i) {
int flag = 0;
if (a[i + 1].y < a[i].y) flag = 1;
else if (a[i + 1].y == a[i].y) {
if (a[i + 1].m < a[i].m) flag = 1;
else if (a[i + 1].m == a[i].m) {
if (a[i + 1].d <= a[i].d)flag = 1;
}
}
return flag;
}