#include <bits/stdc++.h>
using namespace std;
void func() {
  long long n, k;
  cin >> n >> k;
  long long arr[n], g = 0;
  map<long long, long long> mp;
  for (long long i = 0; i < n; i++) {
    cin >> arr[i];
    g += arr[i];
    mp[arr[i]]++;
  }
  if (g < k) {
    cout << "-1\n";
    return;
  }
  if (g == k) {
    return;
  }
  queue<long long> q;
  long long prev_cnt = 0, prev_no = 0;
  map<long long, long long>::iterator it = mp.begin();
  while (it != mp.end()) {
    q.push(((it->first) - prev_no) * (n - prev_cnt));
    prev_cnt += (it->second);
    prev_no = it->first;
    it++;
  }
  vector<long long> v;
  long long sum1 = 0;
  while (!q.empty()) {
    sum1 += q.front();
    q.pop();
    v.push_back(sum1);
  }
  v.push_back(LONG_MAX);
  long long l = 0, r = v.size() - 2, mid, ans = LONG_MAX;
  while (l <= r) {
    mid = (l + r) / 2;
    if (v[mid] <= k && v[mid + 1] > k) {
      ans = mid;
      break;
    } else if (v[mid] > k)
      r = mid - 1;
    else
      l = mid + 1;
  }
  if (ans != LONG_MAX) k = k - v[ans];
  long long d;
  it = mp.begin();
  if (ans != LONG_MAX) {
    ans++;
    while (ans) {
      d = it->first;
      it++;
      ans--;
    }
  } else
    d = 0;
  long long cnt = 0, min1 = LONG_MAX;
  for (long long i = 0; i < n; i++) {
    if (arr[i] > d) {
      arr[i] -= d;
      min1 = min(min1, arr[i]);
      q.push(i + 1);
      cnt++;
    } else
      arr[i] -= d;
  }
  min1 = min(k / cnt, min1 - 1);
  for (long long i = 0; i < n; i++) arr[i] -= min1;
  k -= (min1 * cnt);
  long long p;
  while (k) {
    arr[q.front() - 1]--;
    if (arr[q.front() - 1] > 0) q.push(q.front());
    q.pop();
    k--;
  }
  while (!q.empty()) {
    cout << q.front() << " ";
    q.pop();
  }
}
int main() {
  {
    ios ::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
  }
  long long q = 1;
  while (q) {
    func();
    q--;
  }
  return 0;
}
