#include<stdio.h>
typedef struct
{
char sche[100];
int y,m,d;
}memo;
memo arr[101]={}, temp;
int main()
{
int n, i, j, max, t;
scanf("%d", &n);
for(i=1; i<=n; i++){
scanf ("%s %d %d %d", arr[i].sche, &arr[i].y, &arr[i].m, &arr[i].d);
}
for (i=1; i<n; i++){
max=i;
for (j=i+1; j<=n; j++){
if (arr[max].y>arr[j].y){
max=j;
}
else if (arr[max].y==arr[j].y){
if (arr[max].m>arr[j].m){
max=j;
}
else if (arr[max].m==arr[j].m&&arr[max].d>arr[j].d){
max=j;
}
else{
}
}
temp=arr[max];
arr[max]=arr[i];
arr[i]=temp;
}
}
for(i=1; i<=n; i++){
printf ("%s\n", arr[i].sche);
}
return 0;
}