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