#include <bits/stdc++.h>
int n, m, i, j;
int ord[200000], a0[200000];
bool use[200000];
long long a[200000];
long long k, p, t, q, s;
void qsort(int l, int r) {
  int i, j, t, x;
  i = l;
  j = r;
  x = ord[(l + r) / 2];
  while (i < j) {
    while (a[ord[i]] < a[x]) i++;
    while (a[ord[j]] > a[x]) j--;
    if (i <= j) {
      t = ord[i];
      ord[i] = ord[j];
      ord[j] = t;
      i++;
      j--;
    }
  }
  if (l < j) qsort(l, j);
  if (i < r) qsort(i, r);
}
int main() {
  while (scanf("%d%I64d", &n, &k) != EOF) {
    for (i = 1; i <= n; i++) scanf("%I64d", &a[i]);
    for (i = 1; i <= n; i++) ord[i] = i;
    qsort(1, n);
    p = n;
    memset(use, 0, sizeof(use));
    for (i = 1; i <= n; i++) {
      if (k < (a[ord[i]] - a[ord[i - 1]]) * (n - i + 1)) break;
      use[ord[i]] = true;
      k -= (a[ord[i]] - a[ord[i - 1]]) * (n - i + 1);
      s = a[ord[i]];
    }
    j = n - i + 1;
    if (i == n + 1) {
      if (k != 0) printf("-1\n");
    } else {
      for (i = 1; i <= n; i++)
        if (!use[i]) {
          a[i] -= k / j + s;
        }
      t = k % j;
      for (i = 1; t != 0 && i <= n; i++)
        if (!use[i]) {
          if (a[i] == 1) {
            use[i] = true;
            a[i] == 1;
          }
          t--;
        }
      j = i;
      q = 0;
      for (i = j; i <= n; i++)
        if (!use[i]) {
          q++;
          a0[q] = i;
        }
      for (i = 1; i < j; i++)
        if (!use[i]) {
          q++;
          a0[q] = i;
        }
      for (i = 1; i < q; i++) printf("%d ", a0[i]);
      printf("%d\n", a0[q]);
    }
  }
}
