#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-9;
const int maxn = 100000;
pair<pair<int, int>, int> a[maxn + 100];
int n, k, h;
int b[maxn + 100], bn;
bool ok(double t) {
  bn = 0;
  for (int i = 0; i < n; ++i) {
    if (1.0 * (bn + 1) * h < t * a[i].first.second + eps) {
      b[++bn] = a[i].second;
    }
    if (bn == k) break;
  }
  return (bn == k);
}
int main() {
  scanf("%d%d%d", &n, &k, &h);
  for (int i = 0; i < n; ++i) scanf("%d", &a[i].first.first);
  for (int i = 0; i < n; ++i) scanf("%d", &a[i].first.second);
  for (int i = 0; i < n; ++i) a[i].second = i;
  sort(a, a + n);
  double l = 0.0, r = 1e9;
  for (int iter = 0; iter < 200; ++iter) {
    double mid = (l + r) / 2;
    if (ok(mid))
      r = mid;
    else
      l = mid;
  }
  ok(r);
  for (int i = 1; i <= bn; ++i) {
    if (i > 1) putchar(' ');
    printf("%d", b[i] + 1);
  }
  puts("");
  return 0;
}
