#include <bits/stdc++.h>
using namespace std;
vector<long> ans;
long long n, q, k, h, m[200000], v[200000];
pair<long, long> p;
pair<pair<long, long>, long> pp;
vector<pair<pair<long, long>, long> > ve;
long double l, mm, r;
int main() {
  cin >> n >> k >> h;
  for (int i = 1; i <= n; i++) {
    cin >> m[i];
  }
  for (int i = 1; i <= n; i++) {
    cin >> v[i];
  }
  for (int i = 1; i <= n; i++) {
    p = make_pair(m[i], v[i]);
    pp = make_pair(p, i);
    ve.push_back(pp);
  }
  l = 0;
  r = h * k;
  sort(ve.begin(), ve.end());
  long iters = 0;
  while (iters < 100) {
    ++iters;
    q = 0;
    mm = l + r;
    mm /= 2;
    for (int i = 0; i < ve.size(); i++) {
      if (q < k)
        if (h * (q + 1) <= mm * ve[i].first.second) q++;
    }
    if (q == k)
      r = mm;
    else
      l = mm;
  }
  q = 0;
  mm = r;
  for (int i = 0; i < ve.size(); i++) {
    if (q < k)
      if (h * (q + 1) <= mm * ve[i].first.second + 1e-14) {
        q++;
        ans.push_back(ve[i].second);
      }
  }
  for (int i = 0; i < ans.size(); i++) {
    if (i) cout << " ";
    cout << ans[i];
  }
  cout << endl;
  cin.get();
  cin.get();
  return 0;
}
