#include <stdio.h>
#include <stdlib.h>
typedef struct
{
int age;
char name[101];
}member;
int compare(const void* a, const void* b)
{
int num1 = *(int*)a;
int num2 = *(int*)b;
if (num1 > num2) return 1;
if (num1 < num2) return -1;
return 0;
}
int main(void)
{
int N;
scanf("%d", &N);
member* arr = (member*)malloc(N * sizeof(member));
for (int i = 0; i < N; i++) {
scanf("%d %s", &arr[i].age, arr[i].name);
}
qsort(arr, N, sizeof(member), compare);
for (int i = 0; i < N; i++) {
printf("%d %s\n", arr[i].age, arr[i].name);
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCnR5cGVkZWYgc3RydWN0CnsKICAgIGludCBhZ2U7CiAgICBjaGFyIG5hbWVbMTAxXTsKfW1lbWJlcjsKCmludCBjb21wYXJlKGNvbnN0IHZvaWQqIGEsIGNvbnN0IHZvaWQqIGIpCnsKICAgIGludCBudW0xID0gKihpbnQqKWE7CiAgICBpbnQgbnVtMiA9ICooaW50KiliOwogICAgaWYgKG51bTEgPiBudW0yKSByZXR1cm4gMTsKICAgIGlmIChudW0xIDwgbnVtMikgcmV0dXJuIC0xOwogICAgcmV0dXJuIDA7Cn0KCmludCBtYWluKHZvaWQpCnsKICAgIGludCBOOwogICAgc2NhbmYoIiVkIiwgJk4pOwogICAgbWVtYmVyKiBhcnIgPSAobWVtYmVyKiltYWxsb2MoTiAqIHNpemVvZihtZW1iZXIpKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTjsgaSsrKSB7CiAgICAgICAgc2NhbmYoIiVkICVzIiwgJmFycltpXS5hZ2UsIGFycltpXS5uYW1lKTsKICAgIH0KICAgIHFzb3J0KGFyciwgTiwgc2l6ZW9mKG1lbWJlciksIGNvbXBhcmUpOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBOOyBpKyspIHsKICAgICAgICBwcmludGYoIiVkICVzXG4iLCBhcnJbaV0uYWdlLCBhcnJbaV0ubmFtZSk7CiAgICB9CiAgICByZXR1cm4gMDsKfQ==