#include <bits/stdc++.h>
using namespace std;
long long a[1000005], n;
long long judge(long long x) {
  int i;
  long long res = 0;
  for (i = 0; i < n; i++) {
    if (a[i] >= x)
      res += x;
    else
      res += a[i];
  }
  return res;
}
int l[1000005], r[1000005];
void del(int x) {
  r[l[x]] = r[x];
  l[r[x]] = l[x];
}
int main(int argc, char** argv) {
  int i, j;
  long long k;
  while (scanf("%I64d%I64d", &n, &k) != EOF) {
    long long sum = 0;
    for (i = 0; i < n; i++) {
      scanf("%I64d", &a[i]);
      sum += a[i];
    }
    if (sum < k) {
      printf("-1\n");
      continue;
    } else if (sum == k) {
      printf("\n");
      continue;
    }
    long long ans = k;
    {
      long long l = 0, r = k, mid;
      while (l <= r) {
        mid = (l + r) / 2;
        if (judge(mid) <= k) {
          ans = mid;
          l = mid + 1;
        } else
          r = mid - 1;
      }
    }
    k -= judge(ans);
    for (i = 0; i <= n; i++)
      if (a[i] >= ans)
        a[i] -= ans;
      else
        a[i] = 0;
    for (i = 0; i < n; i++) {
      l[i] = i - 1;
      r[i] = i + 1;
    }
    l[0] = n - 1;
    r[n - 1] = 0;
    for (i = 0; i < n; i++)
      if (a[i] == 0) del(i);
    for (i = 0; i < n; i++)
      if (a[i] > 0) break;
    for (i = i; k > 0; i = r[i]) {
      a[i]--;
      if (a[i] == 0) del(i);
      k--;
    }
    int prei = i;
    printf("%d", i + 1);
    for (i = r[i]; i != prei; i = r[i]) printf(" %d", i + 1);
    printf("\n");
  }
  return 0;
}
