
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
public class Sort_4 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
String [][] arr = new String [N][2];
for(int i =0; i<N; i++){
arr[i][0] = sc.next(); //나이
arr[i][1] = sc.next(); //이름
}
Arrays.sort(arr, new Comparator<String[]>() {
@Override
public int compare(String[] o1, String[] o2) {
return Integer.parseInt(o1[0]) - Integer.parseInt(o2[0]);
}
});
for(int i=0; i<N; i++){
System.out.println(arr[i][0] + " " + arr[i][1]);
}
}
}

public interface Comparator<T> {
int compare(T o1, T o2);
// 다른 유용한 메서드들...
}
나이를 기준으로 정렬하기 때문에
o1이 o2보다 작으면 음수를 반환 (위치 바뀜 -> 정렬)
o1이 o2와 같으면 0을 반환 (순서 변경 없음)
o1이 o2보다 크면 양수를 반환 (순서 유지)