import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//处理输入
int n=sc.nextInt();
int op=sc.nextInt();sc.nextLine();//消耗缓存区的换行符
String[] name=new String[101];//存这个分数对应的名字
Arrays.fill(name,"");
for(int i=0;i<n;i++){
String str=sc.nextLine();
String[] m=str.split(" ");
int s=Integer.parseInt(m[1]);
name[s]+=(m[0]+" ");
}
//ArrayList存储score
List<Integer> score=new ArrayList<>();
for(int i=0;i<name.length;i++){
if(name[i]!=""){
score.add(i);
}
}
//ArrayList转数组
Integer[] scores=score.toArray(new Integer[score.size()]);
//排序
if(op==1)
Arrays.sort(scores);//从小到大
else
Arrays.sort(scores,Collections.reverseOrder());//倒序
//开始输出
for(int i=0;i<scores.length;i++){
if(name[scores[i]]!=""){//此分数存在人
String[] ans=name[scores[i]].split(" ");
for(int j=0;j<ans.length;j++){
System.out.println(ans[j]+" "+scores[i]);
}
}
}
}
}