#include <bits/stdc++.h>
int n, m, i, j, l, top;
int a[100001], t[100001], a2[100001], t2[100001];
long long cnt, k, tt;
void swap(int x, int y) {
  int b;
  b = a[x];
  a[x] = a[y];
  a[y] = b;
  b = t[x];
  t[x] = t[y];
  t[y] = b;
}
void qsort(int p, int q) {
  int l = p, r = q, x = t[(p + q + 1) >> 1];
  while (l <= r) {
    while (t[l] < x) l++;
    while (t[r] > x) r--;
    if (l <= r) swap(l, r), l++, r--;
  }
  if (l < q) qsort(l, q);
  if (p < r) qsort(p, r);
}
void qsort2(int p, int q) {
  int l = p, r = q, x = a[(p + q + 1) >> 1];
  while (l <= r) {
    while (a[l] < x) l++;
    while (a[r] > x) r--;
    if (l <= r) swap(l, r), l++, r--;
  }
  if (l < q) qsort2(l, q);
  if (p < r) qsort2(p, r);
}
int main() {
  scanf("%d%I64d", &n, &k);
  for (i = 0; i < n; i++) {
    scanf("%d", t + i);
    a[i] = i;
  }
  if (!n) return 0;
  qsort(0, n - 1);
  for (i = 0, m = n; i < n; i++) {
    if (cnt + (t[i] - l) * (long long)m > k) {
      i = -1;
      break;
    }
    cnt += (t[i] - l) * (long long)m;
    l = t[i];
    for (j = i; j < n - 1 && t[i] == t[j + 1]; j++)
      ;
    m -= j - i + 1;
    i = j;
  }
  if (l == t[n - 1]) {
    printf((cnt == k) ? "" : "-1\n");
    return 0;
  }
  tt = (k - cnt) / m;
  cnt += tt * m;
  l += tt;
  qsort2(0, n - 1);
  for (i = j = 0; i < n; i++)
    if (t[i] > l) {
      a2[j] = a[i];
      t2[j++] = t[i] - l;
    }
  for (top = 0; cnt < k; cnt++) {
    t2[top] -= 1;
    if (top++ > m) top = 0;
  }
  for (i = top; i < m; i++)
    if (t2[i]) printf("%d ", a2[i] + 1);
  for (i = 0; i < top; i++)
    if (t2[i]) printf("%d ", a2[i] + 1);
  return 0;
}
