#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct student{
    string name;
    int grade;
    int order;
};

int main() {
    int n,method;
    while(cin>>n>>method){
        vector<student> students;
        int order=1;
        for(int i=0;i<n;i++){
            student temp;
            cin>>temp.name>>temp.grade;
            temp.order=order;
            students.push_back(temp);
            order++;
        }
        sort(students.begin(), students.end(), [method](const student &a, const student &b) {
    if (a.grade != b.grade) {
        return (method == 0) ? (a.grade > b.grade) : (a.grade < b.grade);
    }
    // 成绩相同,永远保持输入顺序(升序)
    return a.order < b.order;
});
        for(int i=0;i<students.size();i++){
            cout<<students[i].name<<" "<<students[i].grade<<endl;
            }
    }
    return 0;
}