#include <bits/stdc++.h>
using namespace std;
const int MAXN = 200050;
int n, A[MAXN];
long long k, s;
map<int, vector<int>> M;
int main() {
  while (scanf("%d %lld", &n, &k) >= 1) {
    M.clear();
    s = 0;
    for (int i = (0); i < (int)(n); i++) {
      scanf("%d", &A[i]);
      s += A[i];
      M[A[i]].push_back(i);
    }
    if (s < k) {
      puts("-1");
      continue;
    }
    int active = n;
    int t = 0;
    for (auto it : M) {
      int currt = it.first;
      vector<int> &V = it.second;
      int dt = currt - t;
      long long nr = (long long)dt * active;
      if (k >= nr) {
        k -= nr;
        active -= ((int)V.size());
      } else {
        t += k / active;
        k %= active;
        break;
      }
      t = currt;
    }
    queue<int> Q;
    for (int i = (0); i < (int)(n); i++) {
      if (A[i] > t) {
        Q.push(i);
        A[i] -= t;
      }
    }
    while (k--) {
      int v = Q.front();
      Q.pop();
      A[v]--;
      if (A[v]) Q.push(v);
    }
    vector<int> ans;
    while (!Q.empty()) {
      ans.push_back(Q.front());
      Q.pop();
    }
    for (int i = (0); i < (int)(ans.size()); i++) {
      if (i) printf(" ");
      printf("%d", ans[i] + 1);
    }
    puts("");
  }
  return 0;
}
