#include <bits/stdc++.h>
using namespace std;
struct node {
  long long d, pos;
} a[100100];
long long n, k, tot, des, tep, now;
bool b[100100];
bool cmp1(node a1, node a2) { return a1.d < a2.d; }
bool cmp2(node a1, node a2) { return a1.pos < a2.pos; }
int main() {
  cin >> n >> k;
  for (long long i = 1; i <= n; i++) {
    cin >> a[i].d;
    tot += a[i].d;
    a[i].pos = i;
  }
  if (tot < k) {
    cout << -1 << endl;
    return 0;
  }
  if (tot == k) return 0;
  sort(a + 1, a + 1 + n, cmp1);
  des = 0;
  for (long long i = 1; i <= n; i++) {
    tep = (a[i].d - des) * (n - i + 1);
    if (tep <= k) {
      des = a[i].d;
      k -= tep;
    } else {
      des += k / (n - i + 1);
      k = k % (n - i + 1);
      now = i;
      break;
    }
  }
  tep = now;
  sort(a + now, a + n + 1, cmp2);
  while (k--) {
    if (a[tep].d == des + 1) b[tep] = true;
    tep++;
    if (tep == n + 1) tep = now;
  }
  cout << a[tep].pos;
  for (long long i = tep + 1; i <= n; i++)
    if (!b[i]) cout << ' ' << a[i].pos;
  for (long long i = now; i < tep; i++)
    if (!b[i]) cout << ' ' << a[i].pos;
  cout << '\n';
  return 0;
}
