#include <bits/stdc++.h>
using namespace std;
map<long long, vector<long long>> M;
bool res[100010];
int main() {
  long long n;
  long long k;
  cin >> n >> k;
  long long S = 0;
  for (long long i = 1; i <= n; i++) {
    long long a;
    cin >> a;
    M[a].push_back(i);
    S += a;
  }
  if (S < k) {
    cout << "-1";
    return (0);
  }
  if (S == k) return (0);
  long long lv_prev = 0;
  long long tmp = n;
  map<long long, vector<long long>>::iterator it = M.begin();
  while (true) {
    long long lv = it->first;
    if (k >= (lv - lv_prev) * tmp) {
      k -= ((lv - lv_prev) * tmp);
      tmp -= it->second.size();
    } else
      break;
    it++;
    lv_prev = lv;
  }
  long long dlt = k / tmp + lv_prev;
  k %= tmp;
  vector<pair<long long, long long>> V;
  for (; it != M.end(); it++) {
    for (long long i = 0; i < it->second.size(); i++) {
      V.push_back(make_pair(it->second[i], it->first - dlt));
    }
  }
  sort(V.begin(), V.end());
  cout << "";
  for (int i = 0; i < k; i++) {
    V[i].second -= 1;
    V.push_back(V[i]);
  }
  for (int i = k; i < V.size(); i++)
    if (V[i].second > 0) cout << V[i].first << " ";
exit:
  return (0);
}
