#include <bits/stdc++.h>
using namespace std;
const int MAX = 1000000 + 10;
pair<pair<int, int>, int> p[MAX];
int ans[MAX];
int n, k, h;
int check(double x) {
  int now = 1;
  for (int i = 1; i <= n; i++) {
    if (double(now) * double(h) <= p[i].first.second * x) {
      ans[now] = p[i].second;
      now++;
      if (now > k) return 1;
    }
  }
  return 0;
}
int main() {
  cin >> n >> k >> h;
  for (int i = 1; i <= n; i++) cin >> p[i].first.first;
  for (int i = 1; i <= n; i++) cin >> p[i].first.second;
  for (int i = 1; i <= n; i++) p[i].second = i;
  sort(p + 1, p + 1 + n);
  double l = double(0), r = double(1000000000);
  for (int i = 1; i <= 100; i++) {
    double mid = (l + r) / double(2);
    if (check(mid) == true)
      r = mid;
    else
      l = mid;
  }
  check(r);
  for (int i = 1; i <= k; i++) cout << ans[i] << " ";
}
