#include <bits/stdc++.h>
using namespace std;
struct C {
  long long v;
  int w;
};
int n;
long long sum;
C a[100010];
int ans[100010];
long long k;
int cmp1(C x, C y) {
  if (x.v < y.v) return 1;
  if (x.v == y.v && x.w < y.w) return 1;
  return 0;
}
int cmp2(C x, C y) {
  if (x.w < y.w) return 1;
  return 0;
}
int main() {
  int i;
  scanf("%d%I64d", &n, &k);
  for (i = 0; i < n; i++) {
    scanf("%d", &a[i].v);
    a[i].w = i + 1;
    sum += a[i].v;
  }
  if (k > sum) {
    printf("-1\n");
    return 0;
  }
  sort(a, a + n, cmp1);
  long long s = 0, t, l;
  t = a[0].v;
  l = 0;
  for (i = 1; i <= n; i++)
    if (i == n || a[i].v != t) {
      if (k > (t - s) * (n - l)) {
        k = k - (t - s) * (n - l);
        l = i;
        s = t;
        if (i != n) t = a[i].v;
      } else
        break;
    }
  sort(a + l, a + n, cmp2);
  int j = 0;
  long long n1 = n - l;
  long long k2;
  k2 = k / n1;
  k = k % n1;
  for (i = l + k; i < n; i++)
    if (a[i].v > s + k2) ans[++j] = a[i].w;
  for (i = l; i < l + k; i++)
    if (a[i].v > s + k2 + 1) ans[++j] = a[i].w;
  if (j < 1)
    printf("\n");
  else {
    for (i = 1; i < j; i++) printf("%d ", ans[i]);
    printf("%d\n", ans[i]);
  }
  return 0;
}
