/*
#include <stdio.h>
typedef struct
{
char name[15];
int a, b, c;
}student;
int main()
{
student arr[100];
int n, i, max = 0;
scanf("%d", &n);
for (i = 0; i < n; i++)
{
scanf("%s %d %d %d", arr[i].name, &arr[i].a, &arr[i].b, &arr[i].c);
}
for (i = 0; i < n; i++)
{
if (arr[max].a < arr[i].a)
{
max = i;
}
}
int rank2 = 1;
for (i = 0; i < n; i++)
{
if (arr[i].b > arr[max].b)
{
rank2++;
}
}
int rank3 = 1;
for (i = 0; i < n; i++)
{
if (arr[i].c > arr[max].c)
{
rank3++;
}
}
printf("%s %d %d", arr[max].name, rank2, rank3);
return 0;
}
*/
//성적표 출력
#include <stdio.h>
#include <string.h>
typedef struct
{
char name[11];
int score;
}student;
int main()
{
student arr[100];
int n, m;
scanf("%d %d", &n, &m);
for (int i = 0; i < n; i++)
{
scanf("%s %d", arr[i].name, &arr[i].score);
}
int tmp;
for (int i = 0; i < n - 1; i++)
{
for (int j = i + 1; j < n; j++)
{
if (arr[i].score < arr[j].score)
{
tmp = arr[i].score;
arr[i].score = arr[j].score;
arr[j].score = tmp;
}
}
}
for (int i = 0; i < m; i++)
{
printf("%s\n", arr[i].name);
}
return 0;
}



