import java.util.*;
class Student{
private int grade;
private String name;
public Student(String name,int grade){
this.name = name;
this.grade=grade;
}
public String toString(){
return name+" "+grade;
}
public static final Comparator<student> INCREASE = new increase();
public static final Comparator<student> DECREASE = new decrease();
private static class increase implements Comparator<student> {
public int compare(Student s,Student t){
return t.grade-s.grade;
}
}
private static class decrease implements Comparator<student>{
public int compare(Student s,Student t){
return s.grade-t.grade;
}
}</student></student></student></student>

}
public class Main{

  public static void  main(String[] args){
    Scanner in = new Scanner(System.in);
   // Map<String,Integer> sortMap = new TreeMap<String,Integer>();
    while(in.hasNext()){
       int n = Integer.valueOf(in.next());
        int flag = Integer.valueOf(in.next());
        Student[] students = new Student[n];
        for (int i = 0; i < n; i++) {
            students[i] = new Student(in.next(), Integer.valueOf(in.next()));
        }
          if (flag == 1) {
            Arrays.sort(students, Student.DECREASE);
        }
        else {
            Arrays.sort(students, Student.INCREASE);
        }
        for (Student student : students) {
            System.out.println(student);
        }

    }
  }

}