#include <stdio.h>
struct worker{
int number;
char name[10];
int age;
};
int min(int x,int y)
{
if(x>y)
return y;
else return x;
}
void fun(struct worker * p,int len)
{
struct worker tmp;
for(int i=0;i<len-1;i++)
{
for(int j=0;j<len-i-1;j++)
{
if(p[j].age>p[j+1].age)
{
tmp=p[j];
p[j]=p[j+1];
p[j+1]=tmp;
}
if(p[j].age==p[j+1].age)
{
if(p[j].number>p[j+1].number)
{
tmp=p[j];
p[j]=p[j+1];
p[j+1]=tmp;
}
}
}
}
}
int main() {
int n;
while(~scanf("%d",&n))
{
struct worker worker[n];
for(int i=0;i<n;i++)
{
scanf("%d %s %d",&worker[i].number,worker[i].name,&worker[i].age);
}
fun(worker,sizeof(worker)/sizeof(worker[0]));
int x=min(n,3);
for(int i=0;i<x;i++)
printf("%d %s %d\n",worker[i].number,worker[i].name,worker[i].age);
}
return 0;
}