#include <bits/stdc++.h>
using namespace std;
const int maxn = 300005;
struct Edge {
  double x;
  int i;
} p[maxn];
int n, k;
double tmp, sum, gl, gr;
bool cmp(const Edge &a, const Edge &b) { return a.x < b.x; }
void init() {
  tmp = 0;
  sum = 0;
  gl = 0;
  gr = 0;
  sort(p, p + n, cmp);
  for (int i = 1; i < k; i++) {
    double len = p[i].x - p[i - 1].x;
    sum += len;
    tmp += len * i * (k - i);
    gl += len * (k - i);
    gr += len * i;
  }
}
int gao() {
  double ans = tmp;
  int ansi = 0;
  for (int i = 1; i + k <= n; i++) {
    double lenl = p[i].x - p[i - 1].x;
    double lenr = p[i + k - 1].x - p[i + k - 2].x;
    sum -= lenl;
    tmp -= gl;
    gl -= lenl * (k - 1);
    gl += sum + lenr;
    gr -= sum + lenl;
    gr += lenr * (k - 1);
    tmp += gr;
    sum += lenr;
    if (tmp < ans) {
      ans = tmp;
      ansi = i;
    }
  }
  return ansi;
}
int main() {
  while (~scanf("%d", &n)) {
    for (int i = 0; i < n; i++) {
      scanf("%lf", &p[i].x);
      p[i].i = i + 1;
    }
    scanf("%d", &k);
    init();
    int x = gao();
    for (int i = x, j = 0; j < k; j++, i++) {
      printf("%d", p[i].i);
      putchar(j == k - 1 ? 10 : 32);
    }
  }
  return 0;
}
