#include<bits/stdc++.h>
using namespace std;
struct node
{
string name;
int scoreyu;
int scoreshu;
int scoreying;
}a[1001];
string m[501000];
int main()
{
int N;
char k;
cin>>N;
for(int i=1;i<=N;i++)
{
cin>>a[i].name;
cin>>a[i].scoreyu;
cin>>a[i].scoreshu;
cin>>a[i].scoreying;
}
int h=1;
for(int i=1;i<=N-1;i++)
{
for(int j=i+1;j<=N;j++)
{
if(abs(a[i].scoreyu-a[j].scoreyu)<=5&&abs(a[i].scoreshu-a[j].scoreshu)<=5&&abs(a[i].scoreying-a[j].scoreying)<=5&&abs(a[i].scoreyu+a[i].scoreshu+a[i].scoreying-a[j].scoreyu-a[j].scoreshu-a[j].scoreying<=10))
{
if(a[i].name<a[j].name)
m[h++]=a[i].name+' '+a[j].name;
else
m[h++]=a[j].name+' '+a[i].name;
}
}
}
sort(m+1,m+h);
for(int w=1;w<=h-1;w++)
{
cout<<m[w]<<endl;
}
return 0;
}