#include <stdio.h>

typedef struct book {
    int price;
    char name[50];
}book_t;

int main() {
    int n;

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