#include <stdio.h>
typedef struct{
int cun,pnt,cod;
}sc;
// 1등 2등
// 만댝 1등나라 ==2등나라 -> 그 나라에 속한 학생드 다 0점처리
// 3등 구하기
int main()
{
sc scar[101];
int st[101]={};
sc l[4]={};
int n=0;
scanf("%d",&n);
for(int i=1;i<n+1;i++){
scanf("%d",&scar[i].cun);
scanf("%d",&scar[i].cod);
scanf("%d",&scar[i].pnt);
//printf("input complite\n");
}
for(int i=1;i<n+1;i++){//i==scar검사지역.
for(int j=1;j<4;j++){//j==검사기준등수.`
if(scar[i].pnt>l[j].pnt){
if(st[scar[i].cun]<2){
st[scar[i].cun]++;
st[l[3].cun]--;
for (int ii=3;ii>j;ii--){//ii-1부터 자료 한칸씩 뒤로 밀기.
// printf("l[%d]=l[%d],st[1]=%d,st[2]=%d,st[3]=%d\n",ii,ii-1,st[1],st[2],st[3]);
l[ii]=l[ii-1];
}
l[j]=scar[i];
//printf("\n*\n*\nl[%d]-->cun:%d,cod:%d,pnt:%d\n\n",j,l[j].cun,l[j].cod,l[j].pnt);
break;
}
else if(scar[i].cun==l[j].cun){
l[j]=scar[i];
//printf("\n*\n*\nl[%d]-->cun:%d,cod:%d,pnt:%d\n\n",j,l[j].cun,l[j].cod,l[j].pnt);
break;
}
}
}
}
/*
if(scar[i].pnt>l[0].pnt){
st[scar[i].cun]++;
st[l[2].cun]--;
l[2]=l[1];
l[1]=l[0];
l[0]=scar[i];
}
else if(scar[i].pnt>l[1].pnt){
st[scar[i].cun]++;
st[l[2].cun]--;
l[2]=l[1];
l[1]=scar[i];
}
else if(scar[i].pnt>l[2].pnt) {
st[scar[i].cun]++;
st[l[2].cun]--;
l[2]=scar[i];
}
}
}*/
for(int i=1;i<4;i++){
printf("%d %d\n",l[i].cun,l[i].cod);
}
return 0;
}