#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:16777216")
#pragma warning(default : 4)
using namespace std;
int k, n, h;
double H;
pair<pair<int, int>, int> a[1 << 17];
int ans[1 << 17];
double v[1 << 17];
const double E = 1e-11;
inline bool ok(double t) {
  int c = k, i = n - 1;
  while (i >= 0 && c) {
    if (H / v[i] * c < t + E) {
      c--;
    }
    i--;
  }
  if (c) return 0;
  return 1;
}
int main() {
  scanf("%d %d %d", &n, &k, &h);
  for (int i = 0; i < (int)(n); ++i) {
    scanf("%d", &a[i].first.first);
    a[i].second = i;
  }
  for (int i = 0; i < (int)(n); ++i) {
    scanf("%d", &a[i].first.second);
  }
  sort(a, a + n);
  H = h;
  for (int i = 0; i < (int)(n); ++i) v[i] = a[i].first.second;
  double l = 0, r = 1e9 + 2;
  for (int i = 0; i < (int)(100); ++i) {
    double m = (l + r) / 2;
    if (ok(m))
      r = m;
    else
      l = m;
  }
  double m = r;
  int c = k, i = n - 1;
  while (i >= 0 && c) {
    if (H / v[i] * c < m + E) {
      c--;
      ans[c] = a[i].second + 1;
    }
    i--;
  }
  for (int i = 0; i < (int)(k); ++i) {
    if (i) printf(" ");
    printf("%d", ans[i]);
  }
  puts("");
  return 0;
}
