#include <stdio.h>

typedef struct Book{
    char name[100];
    int p;
}Book;

int main() {
    //int a, b;
    //while (scanf("%d %d", &a, &b) != EOF) { // 注意 while 处理多个 case
        // 64 位输出请用 printf("%lld") to 
      //  printf("%d\n", a + b);
    //}
    int i;
    scanf("%d",&i);
    Book book[i];
    for(int j=0;j<i;j++)
    {
        scanf("%s %d",book[j].name,&book[j].p);
    }
    for(int j=0;j<i;j++)
    {
        for(int k=j+1;k<i;k++)
        {
            int a;
            char scr[100];
            if(book[j].p>book[k].p)
            {
                strcpy(scr,book[j].name);
                strcpy(book[j].name,book[k].name);
                strcpy(book[k].name,scr);
                a=book[j].p;
                book[j].p=book[k].p;
                book[k].p=a;
            }
        }
    }
    for(int j=0;j<i;j++)
    {
        printf("%s\n",book[j].name);
    }

    return 0;
}