#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
struct STU
{
char name[101];
int age,mark;
}stu[1000];
bool cmp(STU a,STU b)
{
if(a.mark<b.mark)
return true;
else if(a.mark>b.mark)
return false;
else
{
if(!strcmp(a.name,b.name))
return a.age<b.age;
return strcmp(a.name,b.name)<0?true:false;
}
}
int main()
{
int n,i;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
scanf("%s%d%d",stu[i].name,&stu[i].age,&stu[i].mark);
sort(stu,stu+n,cmp);
for(i=0;i<n;i++)
printf("%s %d %d\n",stu[i].name,stu[i].age,stu[i].mark);
}
return 0;
}
/**************************************************************
Problem: 2198
User: admin
Language: C++
Result: Accepted
Time:13 ms
Memory:1260 kb
****************************************************************/