import java.util.Arrays;
import java.util.Scanner;

public class Main{
   private static Scanner s = new Scanner(System.in) ;
   
   public static void main(String[] args) {
	  while(s.hasNext()){
		  int t = s.nextInt() ;
		  A a[] = new A[t] ;
		  for (int i = 0; i < t; i++) {
			int num = s.nextInt() ;
			int score = s.nextInt() ;
			a[i] =  new A(num, score) ;
			
		  }
		  
		  Arrays.sort(a) ;
		  
		  for (int i = 0; i < a.length; i++) {
			 System.out.println(a[i].num+" "+a[i].score);
		  }
	  }
   }
}

class A implements Comparable{
	int num ;
	int score ;
	
	public A(int num, int score) {
		super();
		this.num = num;
		this.score = score;
	}

	@Override
	public int compareTo(Object o) {
        A a = (A) o; 
        if(this.score<a.score){
        	return -1 ;
        }else if(this.score==a.score)
		    return 0;
        else return 1 ;
	}
	
	
}

/**************************************************************
	Problem: 2212
	User: admin
	Language: Java
	Result: Accepted
	Time:1008 ms
	Memory:42224 kb
****************************************************************/