#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

struct student{
    int id;
    int grade;
};

int main() {
    int n;
    cin>>n;
    vector<student> students;
    for(int i=0;i<n;i++){
        student temp;
        cin >> temp.id >> temp.grade;
        students.push_back(temp);
    }
    sort(students.begin(),students.end(),[](const student &a,const student &b){
        if(a.grade!=b.grade) return a.grade<b.grade;
        else return a.id<b.id;
    });
    for(int i=0;i<students.size();i++){
        cout<<students[i].id<<" "<<students[i].grade<<endl;
    }
    return 0;
}