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

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int sum = scan.nextInt();
        int compare = scan.nextInt();
        String[][] scores = new String[sum][2];
 		//这道题有坑在于很容易忽略名字可以重复,一开始用了map实现,结果错了
        for(int i =0;i < sum;i++){
            String name = scan.next();
            String score = scan.next();
            scores[i][0] = name;
            scores[i][1] = score;
        }
	  //这里的stream流是稳定排序
        Arrays.stream(scores).sorted((o1, o2) -> compare == 1?Integer.parseInt(o1[1])-Integer.parseInt(o2[1]):Integer.parseInt(o2[1])-Integer.parseInt(o1[1]))
                .forEach(strings -> System.out.println(strings[0] + " " + strings[1]));
        
        scan.close();
    }
}