#include "stdio.h"

#include "algorithm"

#include "string"

using namespace std;

struct Student{

    char name[20];

    int grade;

    int count;//录入顺序

};

bool comp1(Student lhs,Student rhs){//降序

        if (lhs.grade>rhs.grade)

            return true;

        else if (lhs.grade==rhs.grade && lhs.count<rhs.count)

            return true;

        else

            return false;

}

bool comp2(Student lhs,Student rhs){//升序

    if (lhs.grade<rhs.grade)

        return true;

    else if (lhs.grade==rhs.grade && lhs.count<rhs.count)

        return true;

    else

        return false;

}

int main(){

    int n;

    int flag;//flag:0为降序,1为升序

    Student stu[1000];

    while (scanf("%d %d",&n,&flag)!=EOF){

        for (int i = 0; i < n; ++i) {

            scanf("%s %d",stu[i].name,&stu[i].grade);

            stu[i].count=i;

        }

        if(flag==0)

            sort(stu,stu+n, comp1);

        else

            sort(stu,stu+n, comp2);

        for (int i = 0; i < n; ++i) {

            printf("%s %d\n",stu[i].name,stu[i].grade);

        }

    }

}