#include <iostream>
#include<algorithm>
typedef struct student{
    int snum;
    int score;
};
using namespace std;
void sort_arr(student arr[],int length){
    int maxNum=arr[0].score;
    for(int i=0;i<length;i++){
        for(int j=1;j<length-i;j++){
           if(arr[j-1].score>arr[j].score){
            swap(arr[j-1],arr[j]);
            }else if(arr[j-1].score==arr[j].score){
                if(arr[j-1].snum>arr[j].snum){
                        swap(arr[j-1],arr[j]);
                    }
            }
    }
}
}
int main()
{   int n;
    while(scanf("%d",&n)!=EOF){
        student stu[n];
        for(int i=0;i<n;i++){
        scanf("%d %d",&stu[i].snum,&stu[i].score);
      }
      sort_arr(stu,n);
      for(int j=0;j<n;j++){
        printf("%d %d\n",stu[j].snum,stu[j].score);
      }
    }
}