#include <bits/stdc++.h>
using namespace std;
struct heapty {
  int x, y;
} heap[100100];
int a[100100], b[100100], po[100100], pi[100100];
int n, p, k, top;
void Qsort(int l, int r) {
  int k1 = a[(l + r) / 2], k2 = b[(l + r) / 2], i = l, j = r;
  while (i <= j) {
    while (b[i] > k2 || (b[i] == k2 && a[i] < k1)) i++;
    while (b[j] < k2 || (b[j] == k2 && a[j] > k1)) j--;
    if (i <= j) {
      int t1 = a[i];
      a[i] = a[j];
      a[j] = t1;
      t1 = po[i];
      po[i] = po[j];
      po[j] = t1;
      t1 = b[i];
      b[i] = b[j];
      b[j] = t1;
      i++;
      j--;
    }
  }
  if (l < j) Qsort(l, j);
  if (i < r) Qsort(i, r);
}
void swap(int i, int j) {
  heapty tmp;
  tmp = heap[i];
  heap[i] = heap[j];
  heap[j] = tmp;
}
void ins(int x) {
  heap[++top].x = a[x];
  heap[top].y = x;
  int i = top;
  while (i - 1)
    if (heap[i].x > heap[i / 2].x ||
        (heap[i].x == heap[i / 2].x && heap[i].y < heap[i / 2].y))
      swap(i, i / 2), i /= 2;
    else
      break;
}
void del() {
  swap(1, top);
  int i = 1;
  top--;
  while (i < top) {
    int g = i << 1, h = g + 1;
    if (g <= top && (heap[g].x > heap[i].x ||
                     (heap[g].x == heap[i].x && heap[g].y < heap[i].y))) {
      if (h <= top && (heap[h].x > heap[g].x ||
                       (heap[h].x == heap[g].x && heap[h].y < heap[g].y))) {
        swap(i, h);
        i = h;
      } else {
        swap(i, g);
        i = g;
      }
    } else if (h <= top && (heap[h].x > heap[i].x || (heap[h].x == heap[i].x &&
                                                      heap[h].y < heap[i].y))) {
      swap(i, h);
      i = h;
    } else
      break;
  }
}
int main() {
  memset(pi, 0, sizeof(pi));
  scanf("%d %d %d", &n, &p, &k);
  for (int i = 1; i <= n; po[i] = i++) scanf("%d %d", &a[i], &b[i]);
  Qsort(1, n);
  for (int i = 1; i <= n - p + k; ins(i++))
    ;
  for (int i = 1; i <= k; i++) pi[heap[1].y] = 1, del();
  int tmp = 0;
  for (int i = 1; i <= n; i++) {
    if (tmp == p) break;
    if (pi[i] || tmp >= k) {
      printf("%d ", po[i]);
      tmp++;
    }
  }
  return 0;
}
