#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;
}