#include <stdio.h>

typedef struct score{
    int id;
    int grade;
}SCORE;

int main() {
    int n;
    scanf("%d",&n);
    SCORE s[n];
    for(int i=0;i<n;i++){
        scanf("%d %d",&s[i].id,&s[i].grade);
    }
    int temp_i;
    SCORE temp;
    for(int i=0;i<n-1;i++){
        for(int j=0;j<n-1;j++){
            if(s[j].grade>s[j+1].grade){
                temp=s[j];
                s[j]=s[j+1];
                s[j+1]=temp;
            }
            else if(s[j].grade==s[j+1].grade){
                if(s[j].id>s[j+1].id){
                    temp_i=s[j].id;
                    s[j].id=s[j+1].id;
                    s[j+1].id=temp_i;
                }
            }
        }
    }
    for(int i=0;i<n;i++){
        printf("%d %d\n",s[i].id,s[i].grade);
    }
    return 0;
}