#include <bits/stdc++.h>
using namespace std;
void solve();
int main() {
  ios_base::sync_with_stdio(false);
  int t = 1;
  while (t--) solve();
  return 0;
}
struct s {
  long long m, v, id;
  bool operator<(const s& b) const { return m > b.m || (m == b.m && v > b.v); }
};
s a[101010];
void solve() {
  long long n, k, h;
  cin >> n >> k >> h;
  for (int i = 0; i < n; ++i) {
    cin >> a[i].m;
    a[i].id = i + 1;
  }
  for (int i = 0; i < n; ++i) {
    cin >> a[i].v;
  }
  sort(a, a + n);
  long double l = 0, r = 1e18;
  for (int it = 0; it < 200; ++it) {
    long double c = (l + r) / 2;
    int cur = 0;
    bool ok = true;
    for (int i = k; i > 0; --i) {
      if (cur == n) {
        ok = false;
        break;
      }
      while (i * h > a[cur].v * c) {
        ++cur;
        if (cur == n) {
          ok = false;
          break;
        }
      }
      if (!ok) break;
      ++cur;
    }
    if (ok)
      r = c;
    else
      l = c;
  }
  vector<int> ans;
  {
    long double c = r;
    int cur = 0;
    bool ok = true;
    for (int i = k; i > 0; --i) {
      if (cur == n) {
        ok = false;
        break;
      }
      while (i * h > a[cur].v * c) {
        ++cur;
        if (cur == n) {
          ok = false;
          break;
        }
      }
      if (!ok) break;
      ans.push_back(a[cur].id);
      ++cur;
    }
    if (ok)
      r = c;
    else
      l = c;
  }
  for (int i = 0; i < k; ++i) {
    cout << ans[k - 1 - i] << ' ';
  }
}
