#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
long long n, k, h;
pair<long long, pair<long long, long long> > a[N];
long long pos[N], c[N];
bool isVal(double t) {
  long long ptr = n - 1;
  for (long long i = k; i >= 1; i--) {
    while (-1 < ptr && t < i * h / (a[ptr].second.first + 0.0)) ptr--;
    if (ptr == -1) return 0;
    c[i] = a[ptr].second.second;
    ptr--;
  }
  for (int i = 1; i <= k; i++) pos[i] = c[i];
  return 1;
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> n >> k >> h;
  for (int i = 0; i < n; i++) cin >> a[i].first;
  for (int i = 0; i < n; i++)
    cin >> a[i].second.first, a[i].second.second = i + 1;
  sort(a, a + n);
  double l = 0, r = 1e9 + 10;
  for (int i = 0; i < 100; i++) {
    double mid = (l + r) / 2.0;
    if (isVal(mid))
      r = mid;
    else
      l = mid;
  }
  for (int i = 1; i <= k; i++) cout << pos[i] << ' ';
  return 0;
}
