#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct __LinkedList_ts {
    char name[20];
    int score;
    struct __LinkedList_ts* next;
} LinkedList_ts;

LinkedList_ts* LinkedList_new(char* name, int score)
{
    LinkedList_ts* result = NULL;

    result = (LinkedList_ts*)malloc(sizeof(LinkedList_ts));
    memcpy(result->name, name, strlen(name)*sizeof(char));
    result->score = score;
    result->next = NULL;

    return result;
}

LinkedList_ts* LinkedList_add(LinkedList_ts* head, char* name, int score, int sort)
{
    LinkedList_ts* result = NULL;
    LinkedList_ts* curr = NULL;
    LinkedList_ts* next = NULL;
    LinkedList_ts* node = NULL;

    node = LinkedList_new(name, score);

    if (head == NULL) {
        head = node;
    } else {
        for (curr=head; curr!=NULL; curr=curr->next) {
            next = curr->next;
            if (sort == 1) {
                if (score < curr->score) {
                    node->next = head;
                    head = node;
                    break;
                } else {
                    if (next == NULL) {
                        curr->next = node;
                        break;
                    } else {
                        if (score < next->score) {
                            curr->next = node;
                            node->next = next;
                            break;
                        } else {}
                    }
                }
            } else {
                if (score > curr->score) {
                    node->next = head;
                    head = node;
                    break;
                } else {
                    if (next == NULL) {
                        curr->next = node;
                        break;
                    } else {
                        if (score > next->score) {
                            curr->next = node;
                            node->next = next;
                            break;
                        } else {}
                    }
                }
            }
        }
    }

    result = head;
    return result;
}

int main() {
    int n,sort,i;
    char name[20] = {};
    int score;
    LinkedList_ts* head = NULL;
    LinkedList_ts* curr = NULL;

    scanf("%d\n%d", &n, &sort);
    for (i=0; i<n; ++i) {
        memset(name, 0, sizeof(char)*20);
        scanf("%s %d", name, &score);
        head = LinkedList_add(head, name, score, sort);
    }

    for (curr=head; curr!=NULL; curr=curr->next) {
        printf("%s %d\n", curr->name, curr->score);
    }

    return 0;
}