#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:67108864")
bool ascending(int i, int j) { return (i < j); }
bool descending(int i, int j) { return (i > j); }
using namespace std;
pair<long long, int> A[3 * 100 * 1000 + 100];
long long F[3 * 100 * 1000 + 100];
int main() {
  int n;
  cin >> n;
  for (int(i) = (1); (i) < (n + 1); (i)++) {
    cin >> A[i].first;
    A[i].second = i;
  }
  int k;
  cin >> k;
  sort(A + 1, A + n + 1);
  F[0] = 0;
  for (int(i) = (1); (i) < (n + 1); (i)++) F[i] = F[i - 1] + A[i].first;
  long long MIN = LLONG_MAX, minInd = -1;
  long long sum = 0;
  for (int(i) = (1); (i) < (k + 1); (i)++) {
    sum += (F[k] - F[i]) - (k - i) * A[i].first;
    sum += (i - 1) * A[i].first - F[i - 1];
  }
  sum /= 2;
  MIN = sum, minInd = 1;
  for (int(i) = (1); (i) < (n - k + 1); (i)++) {
    sum -= F[i + k - 1] - F[i] - (k - 1) * A[i].first;
    sum += (k - 1) * A[i + k].first - (F[i + k - 1] - F[i]);
    if (sum < MIN) MIN = sum, minInd = i + 1;
  }
  for (int(i) = (minInd); (i) < (minInd + k); (i)++) cout << A[i].second << " ";
}
