#include <bits/stdc++.h>
using namespace std;
class lemming {
 public:
  int m, v, num;
};
lemming a[100100];
int n, k, h;
int cnt[100100];
bool cmp(const lemming &a, const lemming &b) {
  if (a.m != b.m)
    return a.m < b.m;
  else
    return a.v < b.v;
}
bool possible(double t, bool out) {
  int i, j;
  double ct;
  for (i = 1, j = 1; j <= k && i <= n;) {
    ct = i * h;
    ct /= a[j].v;
    if (ct - t > 1e-12)
      j++;
    else {
      if (out) printf("%d ", a[j].num);
      i++;
      j++;
    }
  }
  return i > n;
}
double bs(double l, double r) {
  int step = 100;
  double c;
  while (step) {
    c = (l + r) / 2;
    if (possible(c, false))
      r = c;
    else
      l = c;
    step--;
  }
  return r;
}
int main() {
  int i;
  scanf("%d %d %d", &k, &n, &h);
  for (i = 1; i <= k; i++) {
    scanf("%d", &a[i].m);
    a[i].num = i;
  }
  for (i = 1; i <= k; i++) scanf("%d", &a[i].v);
  sort(a + 1, a + k + 1, cmp);
  double t = bs(0.0, (double)1e9);
  possible(t, true);
  return 0;
}
