#include <bits/stdc++.h>
using namespace std;
const double EPS = 1e-8;
const int MAXN = 100010;
vector<pair<pair<int, int>, int> > lemming;
int n, k, h, ret[MAXN];
bool check(double t) {
  int p = 0;
  for (int i = 0; i < n && p < k; ++i) {
    if ((p + 1.0) * h / lemming[i].first.second - t <= 0) {
      ret[p++] = lemming[i].second;
    }
  }
  return p == k;
}
int main() {
  scanf("%d %d %d", &n, &k, &h);
  lemming.resize(n);
  for (int i = 0; i < n; ++i) {
    scanf("%d", &lemming[i].first.first);
  }
  for (int i = 0; i < n; ++i) {
    scanf("%d", &lemming[i].first.second);
    lemming[i].second = i + 1;
  }
  sort(lemming.begin(), lemming.end());
  double low = 0, high = k * h;
  int cnt = 0;
  while (++cnt < 100) {
    double mid = (high + low) * 0.5;
    if (check(mid)) {
      high = mid;
    } else {
      low = mid;
    }
  }
  check(high);
  for (int i = 0; i < k; ++i) {
    if (i) putchar(' ');
    printf("%d", ret[i]);
  }
  printf("\n");
  return 0;
}
