//我的解法:非常直接,按顺序比较时,分,秒
#include <iostream>
#include <string>
using namespace std;
int main(){
int M;
scanf("%d",&M);
string name;
int a,b,c;
string min_name,max_name;
int min_a=24,min_b=61,min_c=61;
int max_a=-1,max_b=-1,max_c=-1;
for(int i=0;i<M;i++){
cin>>name;
scanf("%d:%d:%d",&a,&b,&c);
if(a<min_a){
min_a=a;min_b=b;min_c=c;
min_name=name;
}else if(a==min_a){
if(b<min_b){
min_b=b;min_c=c;
min_name=name;
}else if(b==min_b){
if(c<min_c){
min_c=c;
min_name=name;
}
}
}
scanf("%d:%d:%d",&a,&b,&c);
if(a>max_a){
max_a=a;max_b=b;max_c=c;
max_name=name;
}else if(a==max_a){
if(b>max_b){
max_b=b;max_c=c;
max_name=name;
}else if(b==max_b){
if(c>max_c){
max_c=c;
max_name=name;
}
}
}
}
cout<<min_name<<" "<<max_name;
return 0;
}
//柳姐解法:时间都转换成秒数
#include <iostream>
#include <climits>
using namespace std;
int main() {
int n, minn = INT_MAX, maxn = INT_MIN;
scanf("%d", &n);
string unlocked, locked;
for(int i = 0; i < n; i++) {
string t;
cin >> t;
int h1, m1, s1, h2, m2, s2;
scanf("%d:%d:%d %d:%d:%d", &h1, &m1, &s1, &h2, &m2, &s2);
int tempIn = h1 * 3600 + m1 * 60 + s1;
int tempOut = h2 * 3600 + m2 * 60 + s2;
if (tempIn < minn) {
minn = tempIn;
unlocked = t;
}
if (tempOut > maxn) {
maxn = tempOut;
locked = t;
}
}
cout << unlocked << " " << locked;
return 0;
}