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