#include <stdio.h>
typedef struct
{
int i;
int dianzan;
int shoucang;
int zhichili;
}po;
int compare(const void *a, const void *b) {
po *p1 = *(po**)a;
po *p2 = *(po**)b;
if (p1->zhichili != p2->zhichili) {
return p2->zhichili - p1->zhichili;
} else if (p1->shoucang != p2->shoucang) {
return p2->shoucang - p1->shoucang;
} else {
return p1->i - p2->i;
}
}
int compare_i(const void *a, const void *b) {
return *(int*)a - *(int*)b;
}
int main()
{
int n=0,k=0;
scanf("%d",&n);
scanf("%d",&k);
po* arr[n];
for(int i=0;i<n;i++)
{
arr[i]=(po*)malloc(sizeof(po));
scanf("%d",&(arr[i]->dianzan));
scanf("%d",&(arr[i]->shoucang));
arr[i]->zhichili=(arr[i]->dianzan)+(arr[i]->shoucang)*2;
arr[i]->i=i+1;
}
qsort(arr,n,sizeof(arr[0]),compare);
int ids[k];
for (int i = 0; i < k; i++) {
ids[i] = arr[i]->i;
}
qsort(ids, k, sizeof(int), compare_i);
for (int i = 0; i < k; i++)
{
printf("%d ", ids[i]);
}
for (int i = 0; i < n; i++)
{
free(arr[i]);
}
return 0;
}