#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;
}