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

    }
}