#include <bits/stdc++.h>
using namespace std;
long long A, B;
long long l, r, M, MM;
long long date[300010];
struct node {
  long long x;
  long long pos;
  const bool operator<(const node t) const { return (this->x) < t.x; }
} dt[300010];
int main() {
  long long n, m;
  scanf("%I64d", &n);
  memset(date, 0, sizeof(date));
  A = 0;
  B = 0;
  for (long long i = 1; i <= n; i++) {
    scanf("%I64d", &(dt[i].x));
    dt[i].pos = i;
  }
  scanf("%I64d", &m);
  sort(dt + 1, dt + n + 1);
  for (long long i = 1; i <= n; i++) {
    date[i] = date[i - 1] + dt[i].x;
  }
  l = 1;
  r = m;
  M = 0;
  for (long long i = 1; i <= m; i++) {
    M += (dt[i].x * i - date[i]);
  }
  MM = M;
  for (long long j = 1, i = m; i < n; ++i, ++j) {
    MM -= ((date[i] - date[j]) - dt[j].x * (m - 1));
    MM += (dt[i + 1].x * (m - 1) - (date[i] - date[j]));
    if (MM < M) {
      l = j + 1;
      r = i + 1;
      M = MM;
    }
  }
  for (long long i = l; i <= r; i++) {
    printf("%I64d ", dt[i].pos);
  }
  return 0;
}
