#include <iostream>
using namespace std;
#define MAX 200
#define Length 50
typedef struct {
int grade;
string name;
} Student;
int main() {
int n;
while (cin >> n) {
int way;
int i, j;
Student stu[MAX], temp;
cin >> way;
for (i = 0; i < n; i++) {
cin >> stu[i].name >> stu[i].grade;
}
if (way == 0) { //降序
for (i = 0; i < n - 1; i++) {
for (j = n - 1; j > 0; j--) {
if (stu[j - 1].grade < stu[j].grade) {
temp = stu[j - 1];
stu[j - 1] = stu[j];
stu[j] = temp;
}
}
}
for (i = 0; i < n; i++) {
cout << stu[i].name << " " << stu[i].grade << endl;
}
} else { //升序
for (i = 0; i < n - 1; i++) {
for (j = n-1; j >0; j--) {
if (stu[j-1].grade > stu[j].grade) {
temp = stu[j-1];
stu[j-1] = stu[j];
stu[j] = temp;
}
}
}
for (i = 0; i < n; i++) {
cout << stu[i].name << " " << stu[i].grade << endl;
}
}
}
return 0;
}