#include<iostream>
#include<algorithm>
using namespace std;
struct stu{
string name;
int h;
}s[10000];
int cmp(stu a,stu b){
return a.h!=b.h?a.h>b.h:a.name<b.name;
}
int outp(int a,int b){
for(int i=b-((b-a+1)%2);i>a;i-=2)cout<<s[i].name<<' ';
cout<<s[a].name;
for(int i=a+2;i<=b;i+=2)cout<<' '<<s[i].name;
}
int main(){
int n,k;
cin>>n>>k;
for(int i=0;i<n;i++){
cin>>s[i].name>>s[i].h;
}
sort(s,s+n,cmp);
for(int i=0;i<k;i++){
if(i==0)outp(n/k*i,n/k*(i+1)+n%k-1);
else outp(n/k*i+n%k,n/k*(i+1)+n%k-1);
cout<<endl;
}
return 0;
}