#include <stdio.h>
#include <string.h>
struct studen{
char name[25];
int score;
}stu[25];
int main() {
int n;
scanf("%d", &n);
for(int i=0;i<n;i++){
scanf("%s %d", stu[i].name, &stu[i].score);
}
int tmps;
char tmpn[25];
int max;
for(int i=0;i<n-1;i++){
max = i;
for(int j=i+1;j<n;j++){
if(stu[j].score > stu[max].score || (stu[j].score == stu[max].score && strcmp(stu[j].name, stu[max].name) < 0))max=j;
}
if(max!=i){
tmps = stu[max].score;
stu[max].score=stu[i].score;
stu[i].score=tmps;
strcpy(tmpn, stu[max].name);
strcpy(stu[max].name, stu[i].name);
strcpy(stu[i].name, tmpn);
}
}
for(int i=0;i<n;i++){
printf("%s %d\n", stu[i].name, stu[i].score);
}
return 0;
}