#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 5;
const double eps = 1e-9;
const int MAX_N = 5e6 + 5;
const long long M = (long long)1e9 + 7;
int Int() {
  int x;
  scanf("%d", &x);
  return x;
}
long long Long() {
  long long x;
  scanf("%lld", &x);
  return x;
}
void Char(char* ch) { scanf("%s", ch); }
template <typename t>
inline t abs(t a) {
  if (a >= 0) return a;
  return -a;
}
template <typename t>
inline t gcd(t a, t b) {
  return !b ? a : gcd(b, a % b);
}
template <typename t>
inline t lcm(t a, t b) {
  return a * (b / gcd(a, b));
}
template <typename T>
inline T modpow(T b, T p, T Mod) {
  T res = 1;
  while (p) {
    if (p & 1) {
      res *= b;
      res %= Mod;
    }
    b *= b;
    b %= Mod;
    p >>= 1;
  }
  return res;
}
template <typename T>
inline T ModInv(T b, T Mod) {
  return modpow(b, Mod - 2, Mod);
}
template <typename T>
inline T pwr(T b, T p) {
  T res = 1;
  while (p) {
    if (p & 1) {
      res *= b;
    }
    b *= b;
    p >>= 1;
  }
  return res;
}
int e1, e2, d1;
template <typename T>
inline void extgcd(T a, T b) {
  if (!b) {
    e1 = 1, e2 = 0, d1 = a;
    return;
  }
  extgcd(b, a % b);
  T x1 = e2;
  T y1 = e1 - (a / b) * e2;
  e1 = x1;
  e2 = y1;
}
template <typename T>
inline vector<T> Unique(vector<T> v) {
  sort(v.begin(), v.end());
  v.erase(unique(v.begin(), v.end()), v.end());
  return v;
}
vector<string> split(const string& s, char c) {
  vector<string> v;
  stringstream ss(s);
  string x;
  while (getline(ss, x, c)) v.emplace_back(x);
  return move(v);
}
void err(vector<string>::iterator it) {}
template <typename T, typename... Args>
void err(vector<string>::iterator it, T a, Args... args) {
  cout << it->substr((*it)[0] == ' ', it->length()) << " = " << a << " ";
  err(++it, args...);
}
int main() {
  int t = 1, tc = 0;
  while (t--) {
    int n = Int();
    long long k = Long();
    long long sum = 0;
    std::vector<int> a(n + 1);
    for (int i = 1; i <= n; i++) {
      a[i] = Int();
      sum += a[i];
    }
    if (sum < k) return puts("-1"), 0;
    if (k == 0) {
      for (int i = 1; i <= n; i++) cout << i << ' ';
      return 0;
    }
    int l = 1, r = 1e9, ans = 0;
    while (l <= r) {
      int mid = (l + r) >> 1;
      long long sum = 0;
      for (int i = 1; i <= n; i++) {
        sum += min(a[i], mid);
        if (sum > k) break;
      }
      if (sum > k) {
        r = mid - 1;
      } else {
        l = mid + 1;
        ans = mid;
      }
    }
    for (int i = 1; i <= n; i++) {
      k -= min(a[i], ans);
      a[i] -= min(a[i], ans);
    }
    int i = 1;
    while (k) {
      if (a[i] > 0) a[i]--, k--;
      i++;
    }
    for (int j = i; j <= n; j++)
      if (a[j] > 0) cout << j << ' ';
    for (int j = 1; j < i; j++)
      if (a[j] > 0) cout << j << ' ';
  }
  return 0;
}
