/*
#include <stdio.h>
#include <stdlib.h>
int main()
{
char k = 0;
while(k != 'q')
{
scanf("%c ",&k);
printf("%c",k);
if(k != 'q')
{
printf("\n");
}
}
return 0;
}
*/
/*
#include<stdio.h>
int main()
{
long long int a,m,d,n;
scanf("%lld %lld %lld %lld",&a,&m,&d,&n);
for(int i =0 ; i< n - 1 ; i++)
{
a = a * m + d;
}
printf("%lld",a);
}
*/
/*
#include<stdio.h>
int main()
{
long long int a,d,n;
scanf("%lld %lld %lld",&a,&d,&n);
for(int i =0 ; i < n-1 ; i++)
{
a = a + d;
}
printf("%lld",a);
}
*/
/*
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
for(int i = 1 ; i <= n ; i++)
{
if(i % 3 != 0)
{
printf("%d ",i);
}
}
}
*/
/*
#include<stdio.h>
int main()
{
int num = 0,n;
scanf("%d",&n);
for(int i = 0 ; ; i++)
{
if(num >= n)
{
break;
}
else
{
num += i;
}
}
printf("%d",num);
}
*/
/*
#include<stdio.h>
int main()
{
int num = 0,n,k = 0;
scanf("%d",&n);
while(num < n)
{
k++;
num += k;
}
printf("%d",k);
}
*/
/*
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
for(int i = 1; i <=n ;i++)
{
if(i % 3 == 0)
{
printf("X ");
}
else
{
printf("%d ",i);
}
}
}
*/
#include<stdio.h>
typedef struct answer_
{
char name[100];
int year,month,day;
long long int num;
}answer;
int main()
{
int n;
answer st[100];
scanf("%d",&n);
for(int i = 0; i < n; i++)
{
scanf("%s %d %d %d",&st[i].name,&st[i].year,&st[i].month,&st[i].day);
st[i].num += st[i].year*10000 + st[i].month * 100 + st[i].day;
}
for(int i=1;i<n;i++)
{
for(int j=1;j<=n-i;j++)
{
if(st[j].num<st[j+1].num)
{
answer temp = st[j];
st[j] = st[j+1];
st[j+1] = temp;
}
}
}
for(int i = 0 ; i< n; i++)
{
printf("%s\n",st[i].name);
}
}