//排序规则黄金法则:比较函数的返回值为true时,表示的是比较函数的第一个参数将会排在第二个函数前面
#include <iostream>
#include <algorithm>
#include <cstdio>
using namespace std;
struct Student{
int number;
int score;
};
const int MAX=110;
Student arr[MAX];
bool Compare(Student x,Student y){
if(x.score==y.score){
return x.number<y.number;
}
else{
return x.score<y.score;
}
}
int main() {
int n;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d %d",&arr[i].number,&arr[i].score);
}
sort(arr,arr+n,Compare);
for(int i=0;i<n;i++)
printf("%d %d\n",arr[i].number,arr[i].score);
return 0;
}