#include <cstdio>
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
struct student{
int h;
string s;
}stu[10010];
bool cmp(student a,student b)
{
if(a.h != b.h) return a.h > b.h;
else return a.s < b.s;
}
int main()
{
int n,k,m;
scanf("%d %d",&n,&k);
for(int i = 0; i < n; i++)
{
cin>>stu[i].s;
scanf("%d",&stu[i].h);
}
sort(stu,stu+n,cmp);
int t = 0,row = k;
while(row)
{
if(row == k) m = n/k + n % k;
else m = n / k;
vector<string> ans(m);
ans[m/2] = stu[t].s;
int j = m/2 - 1;
for(int i = t + 1; i < t + m; i += 2)
{
ans[j--] = stu[i].s;
}
j = m/2 + 1;
for(int i = t + 2; i < t + m; i += 2)
{
ans[j++] = stu[i].s;
}
for(int i = 0; i < m; i++)
{
if(i != 0) cout<<" ";
cout<<ans[i];
}
cout<<endl;
row--;
t += m;
}
return 0;
}