#include <bits/stdc++.h>
using namespace std;
long long arr[100100], k, n, l[100100];
vector<pair<long long, long long> > vec;
bool can(int idx) {
  long long sum = arr[idx];
  for (int i = 0; i < idx; ++i) sum += min(arr[idx], arr[i]);
  for (int i = idx + 1; i < n; ++i) sum += min(arr[idx] - 1, arr[i]);
  return sum <= k;
}
int main() {
  scanf("%lld", &n), scanf("%lld", &k);
  long long sum = 0;
  for (int i = 0; i < n; ++i) {
    scanf("%lld", &arr[i]);
    sum += arr[i];
    vec.push_back(pair<long long, long long>(arr[i], i));
  }
  if (sum < k) return puts("-1");
  if (sum == k) return 0;
  sort(vec.begin(), vec.end());
  int s = 0, e = n - 1, m, b = -1;
  while (s <= e) {
    m = s + ((e - s) >> 1);
    if (can(vec[m].second)) {
      s = m + 1;
      b = m;
    } else
      e = m - 1;
  }
  if (b != -1) {
    b = vec[b].second;
    long long v = arr[b];
    for (int i = 0; i < b + 1; ++i)
      k -= min(arr[i], v), arr[i] -= min(arr[i], v);
    for (int i = b + 1; i < n; ++i)
      k -= min(arr[i], v - 1), arr[i] -= min(arr[i], v - 1);
  }
  vec.clear();
  s = -1;
  for (int i = 0; i < n; ++i) {
    if (arr[i]) {
      vec.push_back(pair<long long, long long>(arr[i], i));
      if (i > b && s == -1) s = vec.size() - 1;
    }
  }
  if (s == -1) s = 0;
  s = (s + k) % vec.size();
  for (int i = s, c = 0; c < vec.size(); ++i, ++c) {
    if (i == vec.size()) i = 0;
    printf("%d ", vec[i].second + 1);
  }
}
