#include<stdio.h>
#include<string.h>
int main(){
char max_name[20]={0},min_name[20]={0};
char max_id[20]={0},min_id[20]={0};
char temp_name[20],temp_id[20];
int max_grade=0,min_grade=0,temp_grade=0;
int n=0,i=0;
scanf("%d",&n);
if(n==1){
scanf("%s%s%d",temp_name,temp_id,&temp_grade);
memcpy(min_name,temp_name,sizeof(temp_name));
memcpy(min_id,temp_id,sizeof(temp_id));
memcpy(max_name,temp_name,sizeof(temp_name));
memcpy(max_id,temp_id,sizeof(temp_id));
printf("%s %s\n",max_name,max_id);
printf("%s %s",min_name,min_id);
}
if(n>1){
for(i=0;i<n;i++){
scanf("%s%s%d",temp_name,temp_id,&temp_grade);
if(i==0){
min_grade=temp_grade;
max_grade=temp_grade;
memcpy(min_name,temp_name,sizeof(temp_name));
memcpy(min_id,temp_id,sizeof(temp_id));
memcpy(max_name,temp_name,sizeof(temp_name));
memcpy(max_id,temp_id,sizeof(temp_id));
}
if(temp_grade>max_grade){
max_grade=temp_grade;
memcpy(max_name,temp_name,sizeof(temp_name));
memcpy(max_id,temp_id,sizeof(temp_id));
}
if(temp_grade<min_grade){
min_grade=temp_grade;
memcpy(min_name,temp_name,sizeof(temp_name));
memcpy(min_id,temp_id,sizeof(temp_id));
}
}
printf("%s %s\n",max_name,max_id);
printf("%s %s",min_name,min_id);
}
return 0;
}