#include <bits/stdc++.h>
using namespace std;
struct stanica {
  long long x;
  int indeks;
};
int n;
int k;
long long s[300005];
long long f[300005];
stanica stanice[300005];
long long suma(int l, int r) { return s[r] - s[l - 1]; }
long long interval(int levi, int desni, int duzina) {
  if (levi == desni) return 0;
  if (levi > desni) return 0;
  return (duzina - 1) * (stanice[desni].x - stanice[levi].x) +
         interval(levi + 1, desni - 1, duzina - 2);
}
bool comp(stanica s1, stanica s2) { return s1.x < s2.x; }
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  cerr.tie(0);
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> stanice[i].x;
    stanice[i].indeks = i;
  }
  cin >> k;
  sort(stanice + 1, stanice + n + 1, comp);
  s[0] = 0;
  for (int i = 1; i <= n; i++) s[i] = s[i - 1] + stanice[i].x;
  long long sol = interval(1, k, k);
  f[1] = sol;
  int sollevo = 1;
  int soldesno = k;
  for (int i = 1; i + k <= n; i++) {
    f[i + 1] = f[i] - (suma(i + 1, i + k - 1) - stanice[i].x * (k - 1)) +
               (stanice[i + k].x * (k - 1) - suma(i + 1, i + k - 1));
    if (f[i + 1] < sol) {
      sol = f[i + 1];
      sollevo = i + 1;
      soldesno = i + k;
    }
  }
  for (int i = sollevo; i <= soldesno; i++) cout << stanice[i].indeks << " ";
  return 0;
}
