#include<algorithm> #include<cstdio> #include<iostream> #include<cstring> using namespace std; typedef struct student{ int id; char name[100]; int score; }student; bool com1(student left,student right) { if(left.score > right.score){ return true; } else if(left.score==right.score&&left.id<right.id) { return true; } else return false; } bool com2(student left,student right) { if(left.score < right.score){ return true; } else if(left.score==right.score&&left.id<right.id) { return true; } else return false; } int main(){ int n; int dec; scanf("%d",&n); scanf("%d",&dec); student s[1000]; while(scanf("%d",&n)!=EOF&&scanf("%d",&dec)!=EOF){ for(int i=0;i<n;i++) { scanf("%s %d",s[i].name,&s[i].score); s[i].id=i; } if(dec==0) { sort(s,s+n,com1); } else sort(s,s+n,com2); for(int i=0;i<n;i++) { // printf("%s %d",s[i].name,s[i].score); cout<<s[i].name<<' '<<s[i].score<<endl; } } }