#include <bits/stdc++.h>
using namespace std;
typedef struct student{
string name;
int grade;
int id;
}Student;
// 升序排列
bool my_cmp_up(const Student &a, const Student& b){
return a.grade < b.grade;
}
bool my_cmp_down(const Student& a, const Student& b){
return a.grade > b.grade;
}
int main(){
int num_stu;
int sort_way;
int id;
while(cin >> num_stu >> sort_way){
vector<Student> stu;
for (int i=0; i<num_stu; i++){
string t_name;
int t_grade;
int t_id;
cin >> t_name >> t_grade;
stu.push_back({t_name,t_grade,t_id});
}
if (sort_way == 1){
stable_sort(stu.begin(), stu.end(), my_cmp_up);
}
else{
stable_sort(stu.begin(), stu.end(), my_cmp_down);
}
for (auto item: stu){
cout << item.name << " " << item.grade << endl;
}
}
return 0;
}