#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long n, k;
  cin >> n >> k;
  long long arr[n];
  for (int i = 0; i < n; i++) cin >> arr[i];
  vector<pair<long long, long long>> v;
  map<long long, long long> mapp;
  for (int i = 0; i < n; i++) {
    v.push_back(make_pair(arr[i], i));
    mapp[arr[i]]++;
  }
  sort(v.begin(), v.end());
  long long ans = -1;
  long long low = 0, high = n - 1;
  long long mid;
  long long val = 0;
  while (low <= high) {
    mid = (low + high) / 2;
    long long count = 0;
    long long len = n;
    long long pos = v[mid].second;
    long long prev = 0;
    for (auto i : mapp) {
      if (i.first == v[mid].first) break;
      count += len * (i.first - prev);
      len -= i.second;
      prev = i.first;
    }
    count += (v[mid].first - prev - 1) * len;
    for (int i = 0; i <= pos; i++) {
      if (arr[i] >= v[mid].first) {
        count++;
      }
    }
    if (count <= k) {
      ans = mid;
      val = count;
      low = mid + 1;
    } else {
      high = mid - 1;
    }
  }
  if (ans == n - 1 && val < k) {
    cout << -1 << "\n";
    return 0;
  } else if (ans == n - 1 && val == k) {
    cout << "\n";
    return 0;
  }
  vector<long long> final;
  if (ans == -1) {
    for (int i = 0; i < n; i++) final.push_back(i + 1);
    for (auto i = (k - val) % final.size();
         i < (k - val) % final.size() + final.size(); i++)
      cout << final[i % final.size()] << " ";
    cout << "\n";
    return 0;
  }
  long long x = v[ans].first;
  ans = v[ans].second;
  for (int i = ans + 1; i < n; i++) {
    if (arr[i] >= x) final.push_back(i + 1);
  }
  for (int i = 0; i < ans; i++) {
    if (arr[i] > x) final.push_back(i + 1);
  }
  for (auto i = (k - val) % final.size();
       i < (k - val) % final.size() + final.size(); i++)
    cout << final[i % final.size()] << " ";
  cout << "\n";
}
