#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:500000000")
using namespace std;
int size;
struct FenwickTreeSum {
  long long t[300009];
  long long Sum(int L, int R) { return Sum(R) - Sum(L - 1); }
  long long Sum(int right) {
    long long result = 0;
    for (; right >= 0; right = (right & (right + 1)) - 1) result += t[right];
    return result;
  }
  void Add(int idx, long long delta) {
    for (; idx < size; idx |= idx + 1) t[idx] += delta;
  }
};
pair<int, int> A[300009];
FenwickTreeSum tree;
int main() {
  int i, k;
  scanf("%d", &size);
  for (i = 0; i < size; i++) {
    scanf("%d", &A[i].first);
    A[i].second = i + 1;
  }
  scanf("%d", &k);
  sort(A, A + size);
  for (i = 0; i < size; i++) tree.Add(i, A[i].first);
  long long sum = 0;
  long long minV = 1ll << 62ll;
  int pos;
  for (i = 0; i < size; i++) {
    int len = min(k - 1, i);
    sum += (long long)A[i].first * len - tree.Sum(i - len, i - 1);
    if (i - k >= 0) {
      sum -= tree.Sum(i - k + 1, i - 1) - (long long)A[i - k].first * len;
    }
    if (i + 1 >= k && minV > sum) {
      minV = sum;
      pos = i;
    }
  }
  for (int i = pos; k--; i--) printf("%d ", A[i].second);
  puts("");
}
