include

include

include

include

using namespace std;

struct Node{
string name;
int score;
int index;

Node(string ns, int s, int i){
    name=ns;
    score=s;
    index=i;
}    

};

bool cmpG(Node &a,Node & b){
return a.score != b.score ? a.score > b.score : a.index < b.index;
}

bool cmpL(Node &a,Node & b){
return a.score != b.score ? a.score < b.score : a.index < b.index;
}

int main(){

vector<Node> vec;
string name;
int score;
int num;
int flag;
while(cin>>num>>flag){
    vec.clear();
    for(int i=0;i<num;i++){
        cin>>name>>score;
        Node node(name,score,i);
        vec.push_back(node);
    }

    if(flag==0)
        sort(vec.begin(),vec.end(),cmpG);
    else
        sort(vec.begin(),vec.end(),cmpL);

    for(int i=0;i<num;i++){
        cout<<vec[i].name<<" "<<vec[i].score<<endl;
    }

}



return 0;

}