#include<stdio.h>
#include <stdlib.h>
struct Student{
	int id;
	char name[1000];
	int score;
}; 
void main()
{
	typedef struct Student Stu;
	int n,i,j;
	scanf("%d",&n);
	Stu a[n];
	for(i=0;i<n;i++){
		Stu* s = (Stu*)malloc(sizeof(Stu));
		scanf("%d",&s->id);
		scanf("%s",s->name);
		scanf("%d",&s->score);
		a[i] = *s;
		free(s);
	}
	//冒泡排序 
	for(i=1;i<=n-1;i++){
		for(j=0;j<=n-2;j++){
			if(a[j].score < a[j+1].score){
				Stu temp;
				temp = a[j];
				a[j] = a[j+1];
				a[j+1] = temp;
			}else if(a[j].score == a[j+1].score){
				if(a[j].id>a[j+1].id){
					Stu temp;
					temp = a[j];
					a[j] = a[j+1];
					a[j+1] = temp;
				}
			}
		}
	}
	for(i=0;i<n;i++){
		printf("%d %s %d\n",a[i].id,a[i].name,a[i].score);
	}
}

/**************************************************************
	Problem: 1414
	User: admin
	Language: C
	Result: Accepted
	Time:15 ms
	Memory:1144 kb
****************************************************************/