#include <bits/stdc++.h>
using namespace std;
struct br {
  long long v, ind;
} a[500555];
br b[500555];
bool cmp(br a, br b) { return a.v < b.v; }
bool mark[500555];
int main() {
  long long n, i, j, k, s, w, p, r, t, l, e;
  scanf("%I64d %I64d", &n, &k);
  s = 0;
  for (i = 0; i < n; i++) {
    scanf("%I64d", &a[i].v);
    s += a[i].v;
    a[i].ind = i;
    mark[i] = false;
    b[i] = a[i];
  }
  if (s < k) {
    printf("-1\n");
    return 0;
  }
  if (s == k) {
    printf("\n");
    return 0;
  }
  sort(a, a + n, cmp);
  i = 0;
  p = 0;
  w = n;
  l = 0;
  while (i < n) {
    if (w * (a[i].v - l) + p <= k) {
      while (i < n && a[i].v == a[i + 1].v) {
        mark[a[i].ind] = true;
        i++;
      }
      mark[a[i].ind] = true;
      p += w * (a[i].v - l);
      l = a[i].v;
      i++;
      w = n - i;
    } else {
      r = (k - p) % w;
      e = (k - p) / w;
      e++;
      break;
    }
  }
  t = 0;
  i = 0;
  while (t < r) {
    if (!mark[i]) {
      t++;
      if (b[i].v - l <= e) mark[i] = true;
    }
    i++;
  }
  for (j = i; j < n; j++)
    if (!mark[j]) printf("%I64d ", j + 1);
  for (j = 0; j < i; j++)
    if (!mark[j]) printf("%I64d ", j + 1);
  return 0;
}
