#include <bits/stdc++.h>
using namespace std;
struct animal {
  int x;
  int location;
};
animal A[100010];
animal A_temp[100010];
int _sum[100010];
long long n, k, nk, _nk, N, _MIN;
bool cmp(animal a, animal b) { return (a.x < b.x); }
queue<animal> Q;
int main() {
  scanf("%I64d %I64d", &N, &k);
  nk = k / N;
  _nk = k % N;
  n = N;
  int s = 0, OK = 0;
  for (int i = 0; i < n; i++) {
    scanf("%d", &A[i].x);
    A[i].location = i;
    A_temp[i].location = i + 1;
    A_temp[i].x = A[i].x;
  }
  sort(A, A + n, cmp);
  _MIN = A[0].x;
  while (k && n) {
    int ns = 0;
    if (nk >= _MIN) {
      ns = 1;
      int j = 0;
      _sum[j] = _MIN;
      int tips = 0;
      for (int i = 0; i < N; i++) {
        if (A[i].x - _MIN == 0) {
          A[i].x = A[i].x - _MIN;
          A_temp[A[i].location].x = A[i].x;
          n--;
          k -= _sum[j];
        } else {
          k -= _sum[j] * (N - i);
          nk = k / n;
          if (nk < (A[i].x - _MIN)) {
            break;
          } else {
            tips = i;
            _sum[++j] = A[i].x - _MIN;
            _MIN += (A[i].x - _MIN);
            A[i].x = 0;
            n--;
            k -= _sum[j];
            A_temp[A[i].location].x = 0;
          }
        }
      }
    }
    if (ns) {
      for (int i = 0; i < N; i++) {
        if (A[i].x) {
          A[i].x -= _MIN;
          A_temp[A[i].location].x = A[i].x;
        }
      }
    }
    for (int i = 0; i < N; i++) {
      if (A[i].x) {
        A[i].x -= nk;
        A_temp[A[i].location].x = A[i].x;
        k -= nk;
      }
    }
    if (!n && k) {
      OK = 1;
      break;
    }
    if (n) {
      nk = k / n;
    }
    if (nk == 0) {
      _nk = k % n;
      for (int i = 0; i < N; i++) {
        if (A_temp[i].x) {
          if (k == 0) {
            s = i;
            break;
          }
          A_temp[i].x--;
          if (A_temp[i].x == 0) n--;
          k--;
        }
      }
    }
  }
  int ok = 0;
  for (int i = s; i < N; i++) {
    if (A_temp[i].x && !ok) {
      ok = 1;
      printf("%d", A_temp[i].location);
      continue;
    }
    if (A_temp[i].x) printf(" %d", A_temp[i].location);
  }
  for (int i = 0; i < s; i++) {
    if (A_temp[i].x && !ok) {
      ok = 1;
      printf("%d", A_temp[i].location);
      continue;
    }
    if (A_temp[i].x) printf(" %d", A_temp[i].location);
  }
  if (n == 0 && k == 0) cout << endl;
  if (OK) cout << "-1";
  cout << endl;
  return 0;
}
