#include <bits/stdc++.h>
using namespace std;
struct ww {
  int a, b, c, id;
} a[100010];
int i, j, k, n, m;
inline bool cc1(const ww &a, const ww &b) {
  return a.b < b.b || a.b == b.b && a.a > b.a;
}
inline bool cc2(const ww &a, const ww &b) {
  return a.a > b.a || a.a == b.a && a.c > b.c;
}
inline bool cc3(const ww &a, const ww &b) { return a.c < b.c; }
int main() {
  scanf("%d%d%d", &n, &m, &k);
  for (i = 1; i <= n; i++) scanf("%d%d", &a[i].a, &a[i].b), a[i].id = i;
  sort(a + 1, a + n + 1, cc1);
  m -= k;
  for (i = 1; i <= n; i++) a[i].c = i;
  sort(a + m + 1, a + n + 1, cc2);
  int B = n;
  for (i = m + 1; i <= m + k; i++) printf("%d ", a[i].id), B = min(B, a[i].c);
  sort(a + 1, a + n + 1, cc3);
  for (i = 1; i <= m; i++) printf("%d ", a[B - i].id);
  printf("\n");
  return 0;
}
