#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct
{
int chinese;
int math;
int english;
char name[9];
}student;
student students[1005];
char rival[1005][2][9];
int panduan(student a,student b)
{
int m=abs(a.chinese-b.chinese);
int n=abs(a.english-b.english);
int q=abs(a.math-b.math);
if(m<=5&&n<=5&&q<=5&&m+n+q<=10)
{
return 1;
}
return 0;
}
int compare(const void *a,const void*b)
{
const char(*rivala)[9]=a;
const char(*rivalb)[9]=b;
int i=strcmp(rivala[0],rivalb[0]);
if(i!=0)
{
return i;
}
return strcmp(rivala[1],rivalb[1]);
}
int main()
{
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%s %d %d %d",students[i].name,&students[i].chinese,&students[i].math,&students[i].english);
}
int count=0;
for(int i=0;i<n;i++)
{
for(int j=i+1;j<n;j++)
{
if(panduan(students[i],students[j]))
{
if(strcmp(students[i].name,students[j].name)<0)
{
strcpy(rival[count][0],students[i].name);
strcpy(rival[count][1],students[j].name);
}
else {
strcpy(rival[count][0],students[j].name);
strcpy(rival[count][1],students[i].name);
}
count++;
}
}
}
qsort(rival,count,sizeof(rival[0]),compare);
for(int i=0;i<count;i++)
{
printf("%s %s\n",rival[i][0],rival[i][1]);
}
return 0;
}