# include <stdio.h>
# include <malloc.h>
typedef struct node
{
char a[20];
int in1,in2,in3;
int out1,out2,out3;
}Node,*Pnode;
int main()
{
int T=3;
double min=955350,max=-1,t;
Pnode tmp=(Pnode)malloc(sizeof(Node)*T);
int maxi,mini;
for(int i=0;i<3;i++)
{
scanf("%s",&tmp[i].a);
scanf("%d:%d:%d",&tmp[i].in1,&tmp[i].in2,&tmp[i].in3);
scanf("%d:%d:%d",&tmp[i].out1,&tmp[i].out2,&tmp[i].out3);
t=tmp[i].in1*3600+tmp[i].in2*60+tmp[i].in3;
if(t<min)
{
min=t;
mini=i;
}
t=tmp[i].out1*3600+tmp[i].out2*60+tmp[i].out3;
if(t>max)
{
max=t;
maxi=i;
}
}
printf("%s %s\n",tmp[mini].a,tmp[maxi].a);
return 0;
}
# include <malloc.h>
typedef struct node
{
char a[20];
int in1,in2,in3;
int out1,out2,out3;
}Node,*Pnode;
int main()
{
int T=3;
double min=955350,max=-1,t;
Pnode tmp=(Pnode)malloc(sizeof(Node)*T);
int maxi,mini;
for(int i=0;i<3;i++)
{
scanf("%s",&tmp[i].a);
scanf("%d:%d:%d",&tmp[i].in1,&tmp[i].in2,&tmp[i].in3);
scanf("%d:%d:%d",&tmp[i].out1,&tmp[i].out2,&tmp[i].out3);
t=tmp[i].in1*3600+tmp[i].in2*60+tmp[i].in3;
if(t<min)
{
min=t;
mini=i;
}
t=tmp[i].out1*3600+tmp[i].out2*60+tmp[i].out3;
if(t>max)
{
max=t;
maxi=i;
}
}
printf("%s %s\n",tmp[mini].a,tmp[maxi].a);
return 0;
}