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