#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;
}