#include <stdio.h>
#include <string.h>
struct Person
{
char sno[16],come[10],go[10];
}person[10];
int main(){
int M;
scanf("%d",&M);
scanf("%s%s%s",person[0].sno,person[0].come,person[0].go);
char *zao=person[0].come,*wan=person[0].go;
for(int i=1;i<M;i++){
scanf("%s%s%s",person[i].sno,person[i].come,person[i].go);
if(strcmp(zao,person[i].come)>0)zao=person[i].come;
if(strcmp(wan,person[i].go)<0)wan=person[i].go;
}
//分两次循环,先输出早来,再输出晚走。不能一起循环,因为最晚走的学生可能比最早来的学生排列靠前,就会先输出最晚走的学号
for(int i=0;i<M;i++)
if(strcmp(zao,person[i].come)==0)printf("%s ",person[i].sno);
for(int i=0;i<M;i++)
if(strcmp(wan,person[i].go)==0)printf("%s",person[i].sno);
return 0;
}