#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  int n;
  long long k;
  cin >> n >> k;
  vector<long long> a(n);
  vector<long long> val(n);
  copy_n(istream_iterator<int>(cin), n, a.begin());
  copy_n(a.begin(), n, val.begin());
  val.push_back(0);
  sort(val.begin(), val.end());
  val.erase(unique(val.begin(), val.end()), val.end());
  map<long long, int> index_of_value;
  for (int i = 0; i < val.size(); ++i) index_of_value[val[i]] = i;
  vector<int> index_of_animal(n), num_of_goe(val.size());
  for (int i = 0; i < n; ++i) {
    index_of_animal[i] = index_of_value[a[i]];
    ++num_of_goe[index_of_animal[i]];
  }
  for (int i = num_of_goe.size() - 2; i >= 0; --i) {
    num_of_goe[i] += num_of_goe[i + 1];
  }
  int i = 1;
  while (i < val.size() && k >= (val[i] - val[i - 1]) * num_of_goe[i]) {
    k -= (val[i] - val[i - 1]) * num_of_goe[i];
    ++i;
  }
  if (i == val.size()) {
    cout << (k == 0 ? "" : "-1") << endl;
    return 0;
  }
  long long n_add = k / num_of_goe[i];
  k %= num_of_goe[i];
  vector<int> ans1, ans2;
  bool last = n_add + val[i - 1] + 1 == val[i];
  for (int j = 0; j < n; ++j) {
    if (index_of_animal[j] > i) {
      if (k > 0) {
        ans2.push_back(j + 1);
        --k;
      } else {
        ans1.push_back(j + 1);
      }
    } else if (index_of_animal[j] == i) {
      if (k > 0) {
        if (!last) ans2.push_back(j + 1);
        --k;
      } else {
        ans1.push_back(j + 1);
      }
    }
  }
  for (int i = 0; i < ans1.size(); ++i) {
    cout << ans1[i] << " ";
  }
  for (int i = 0; i < ans2.size(); ++i) {
    cout << ans2[i] << " ";
  }
  return 0;
}
