#include <bits/stdc++.h>
using namespace std;
struct coord {
  int x;
  int num;
};
bool comp(coord a, coord b) { return a.x < b.x; }
int main() {
  int n, k;
  scanf("%d", &n);
  vector<coord> coords(n);
  for (int i = 0; i < n; i++) {
    scanf("%d", &coords[i].x);
    coords[i].num = i + 1;
  }
  scanf("%d", &k);
  sort(coords.begin(), coords.end(), comp);
  long long ans = 0;
  long long sum = 0;
  for (int i = 0; i < k; i++) {
    ans += (long long)coords[i].x * i - sum;
    sum += coords[i].x;
  }
  long long mx = ans;
  int max_num = 0;
  sum -= coords[0].x;
  for (int z = 0; z < (n - k); z++) {
    ans += (long long)(k - 1) * (coords[z + k].x + coords[z].x);
    ans -= 2 * sum;
    sum += coords[z + k].x - coords[z + 1].x;
    if (ans < mx) {
      mx = ans;
      max_num = z + 1;
    }
  }
  for (int i = 0; i < k; i++) {
    printf("%d ", coords[max_num + i].num);
  }
  return 0;
}
