#include <bits/stdc++.h>
using namespace std;
int n, m, h;
int w[100009], v[100009], od[100009];
int ans[100009];
bool cmp(const int &a, const int &b) {
  if (w[a] == w[b]) return v[a] < v[b];
  return w[a] < w[b];
}
bool isok(double t) {
  int cnt = 1;
  for (int i = 1; i <= n && cnt <= m; i++)
    if (t >= 1.0 * cnt * h / v[od[i]]) {
      ans[cnt++] = od[i];
    }
  if (cnt > m)
    return true;
  else
    return false;
}
int main() {
  scanf("%d%d%d", &n, &m, &h);
  for (int i = 1; i <= n; i++) od[i] = i, scanf("%d", w + i);
  for (int i = 1; i <= n; i++) scanf("%d", v + i);
  sort(od + 1, od + n + 1, cmp);
  double s = 10e-10, e = 1000000000, mid, res;
  for (int i = 0; i < 200; i++) {
    mid = (s + e) / 2;
    if (isok(mid))
      res = mid, e = mid;
    else
      s = mid;
  }
  isok(res);
  printf("%d", ans[1]);
  for (int i = 2; i <= m; i++) printf(" %d", ans[i]);
  puts("");
  return 0;
}
