#include <iostream>
#include <algorithm>
#include <string>
#include <cstdio>
using namespace std;
#define MAXN 17
struct Time{
string name;
int begin;
int end;
}data[MAXN];
bool cmpb(const Time &a,const Time &b){
return a.begin<b.begin;
}
bool cmpe(const Time &a,const Time &b){
return a.end>b.end;
}
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++){
string name;
cin>>name;
int a1,a2,a3,b1,b2,b3;
scanf("%d:%d:%d %d:%d:%d",&a1,&a2,&a3,&b1,&b2,&b3);
data[i].name=name;
data[i].begin=a1*3600+a2*60+a3;
data[i].end=b1*3600+b2*60+b3;
}
sort(data,data+n,cmpb);
cout<<data[0].name<<" ";
sort(data,data+n,cmpe);
cout<<data[0].name<<endl;
return 0;
}