#include <iostream>
#include<algorithm>
using namespace std;
struct stu
{
    int number;
    int grade;
};
bool cmp(stu a,stu b)
{
    if(a.grade!=b.grade)return a.grade<b.grade;
    else return a.number<b.number;
}
int main() {
    int n;
    while (cin >> n) { // 注意 while 处理多个 case
        stu *a=(stu*)malloc(sizeof(stu)*n);
        for(int i=0;i<n;i++)cin>>a[i].number>>a[i].grade;
        sort(a,a+n,cmp);
        for(int i=0;i<n;i++)cout<<a[i].number<<" "<<a[i].grade<<endl;
    }
}
// 64 位输出请用 printf("%lld")