#include <bits/stdc++.h>
using namespace std;
struct node {
  int pos, nr;
  node() {}
  node(int ipos, int inr) : pos(ipos), nr(inr) {}
  bool operator<(const node& x) const { return pos < x.pos; }
};
const int SIZE = 300008;
node station[SIZE];
long long leftsum[SIZE];
long long n, k;
int main() {
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> station[i].pos;
    station[i].nr = i + 1;
  }
  cin >> k;
  sort(station, station + n);
  for (int i = 1; i < n; i++) {
    leftsum[i] = leftsum[i - 1] + station[i].pos;
  }
  long long f = 0;
  for (int i = 1; i <= k; i++) {
    f += (long long)station[i].pos * i - leftsum[i - 1];
  }
  long long res = f;
  int pos = 0;
  k--;
  for (int i = 1; i < n - k; i++) {
    f += station[i + k].pos * k - leftsum[i + k - 1] * 2 + leftsum[i - 1] * 2 +
         station[i - 1].pos * k;
    if (f < res) {
      res = f;
      pos = i;
    }
  }
  for (int i = 0; i <= k; i++) {
    printf("%d ", station[pos + i].nr);
  }
  return 0;
}
