/*
#include <stdio.h>
struct arr
{
int score;
};
int main()
{
int n,i,j;
scanf("%d",&n);
struct arr s[201];
for(i=1;i<=n;i++)
{
scanf("%d",&s[i].score);
}
for(i=1;i<=n;i++)
{
int c=n;
for(j=1;j<=n;j++)
{
if(i==j)
{
c++;
}
if(s[i].score>=s[j].score)
{
c--;
}
}
printf("%d ",s[i].score);
printf("%d",c);
printf("\n");
}
return 0;
}
*/
/*
#include <stdio.h>
struct arr
{
int country;
int number;
int score;
int a;
};
int main()
{
int n,i,j,a,b,c;
scanf("%d",&n);
struct arr s[101];
for(i=1;i<=n;i++)
{
scanf("%d %d %d",&s[i].country,&s[i].number,&s[i].score);
}
for(i=1;i<=n;i++)
{
int c=n;
for(j=1;j<=n;j++)
{
if(s[i].score>s[j].score)
{
c--;
}
}
s[i].a=c;
if(c==1)
{
a=i;
}
else if(c==2)
{
b=i;
}
}
int k=3;
printf("%d %d\n%d %d\n",s[a].country,s[a].number,s[b].country,s[b].number);
while(1)
{
for(i=1;i<=n;i++)
{
if(s[i].a==k)
{
if(s[a].country==s[b].country)
{
if(s[i].country!=s[a].country)
{
printf("%d %d",s[i].country,s[i].number);
return 0;
}
}
else
{
printf("%d %d",s[i].country,s[i].number);
return 0;
}
break;
}
}
k++;
}
return 0;
}
*/
/*
#include <stdio.h>
struct arr
{
int a;
int b;
int c;
};
int main()
{
int n,i,j,a,b,c;
scanf("%d",&n);
struct arr s[101];
for(i=1;i<=n;i++)
{
scanf("%d %d %d",&s[i].a,&s[i].b,&s[i].c);
}
for(i=1;i<=n;i++)
{
int c=n;
for(j=1;j<=n;j++)
{
if(s[i].c>s[j].c)
{
c--;
}
}
if(c==1)
{
a=i;
}
else if(c==2)
{
b=i;
}
}
printf("%d %d\n%d %d\n",s[a].a,s[a].b,s[b].a,s[b].b);
for(i=1;i<=n;i++)
{
if(i!=a && i!=b && s[i].a==s[a].a && s[a].a==s[b].a)
{
s[i].c=0;
}
}
for(i=1;i<=n;i++)
{
int c=n;
for(j=1;j<=n;j++)
{
if(s[i].c>s[j].c)
{
c--;
}
}
if(c==3)
{
printf("%d %d",s[i].a, s[i].b);
}
}
return 0;
}
*/
#include <stdio.h>
struct arr
{
char name[10];
int score;
int a;
};
int main()
{
int n,m,i,j,c;
scanf("%d %d",&n,&m);
struct arr s[101];
for(i=1;i<=n;i++)
{
scanf("%s %d",&s[i].name,&s[i].score);
}
for(i=1;i<=n;i++)
{
c=n;
for(j=1;j<=n;j++)
{
if(s[i].score>s[j].score)
{
c--;
}
}
s[i].a=c;
}
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
{
if(s[j].a==i)
{
printf("%s\n",s[j].name);
break;
}
}
}
return 0;
}