#include <bits/stdc++.h>
using namespace std;

struct stu{
    string name;
    int score;
    int sequence;
};
bool cmp0(stu a,stu b){
    if(a.score!=b.score)
        return a.score>b.score;
    else
        return a.sequence<b.sequence;
}
bool cmp1(stu a,stu b){
    if(a.score!=b.score)
        return a.score<b.score;
    else
        return a.sequence<b.sequence;
}
int main() {
    int n, cho;
    while (cin >> n >> cho) { // 注意 while 处理多个 case
        stu vec[n];
        
        for(int i=0;i<n;i++){
            cin>>vec[i].name>>vec[i].score;
            vec[i].sequence=i;
        }
        if(cho==0)
            sort(vec,vec+n,cmp0);
        else
            sort(vec,vec+n,cmp1);
        for(int i=0;i<n;i++){
            cout<<vec[i].name<<" "<<vec[i].score<<endl;
        }
    }
}
// 64 位输出请用 printf("%lld")