#include <bits/stdc++.h>
using namespace std;
const int maxn = 3e5 + 5;
struct node {
  long long num;
  int p;
} nd[maxn];
long long sum[maxn], f[maxn];
bool cp1(node a, node b) { return a.num < b.num; }
int main() {
  int n, k;
  ios::sync_with_stdio(0);
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> nd[i].num;
    nd[i].p = i;
  }
  sort(nd + 1, nd + 1 + n, cp1);
  cin >> k;
  sum[0] = 0;
  for (int i = 1; i <= n; i++) sum[i] = sum[i - 1] + nd[i].num;
  f[1] = 0;
  for (int i = 2; i <= k; i++)
    f[i] = nd[i].num * (i - 1) - sum[i - 1] + f[i - 1];
  long long mm = f[k];
  int p = 1;
  for (int i = k + 1; i <= n; i++) {
    f[i] = nd[i].num * (k - 1) + f[i - 1] + nd[i - k].num * (k - 1) -
           2 * (sum[i - 1] - sum[i - k]);
    if (f[i] < mm) {
      mm = f[i];
      p = i - k + 1;
    }
  }
  for (int i = 0; i < k; i++)
    printf("%d%c", nd[i + p].p, i == k - 1 ? '\n' : ' ');
}
