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