#include <bits/stdc++.h>
using namespace std;
template <class TT>
TT abs(TT a) {
  if (a < 0) return -a;
  return a;
}
typedef struct {
  long long x, y;
  void print() { printf("%d %d\n", x, y); }
} P;
bool com(P a, P b) { return a.x < b.x; }
long long a[111111];
map<long long, int> m;
int main() {
  long long i, j, k, l, n, K, cn, p = 0;
  while (cin >> n >> K) {
    m.clear();
    l = 0;
    for (i = 0; i < n; i++) {
      scanf("%I64d", a + i);
      l += a[i];
      m[a[i]]++;
    }
    if (l < K) {
      printf("-1\n");
      continue;
    } else if (l == K) {
      printf("\n");
      continue;
    }
    cn = n;
    p = 0;
    for (__typeof(m.begin()) I = m.begin(); I != m.end(); ++I) {
      k = I->first;
      k -= p;
      l = I->second;
      if (cn * k < K) {
        K -= k * cn;
        cn -= l;
      } else {
        j = K / cn;
        K -= j * cn;
        p = p + j + 1;
        break;
      }
      p += k;
    }
    queue<int> q;
    for (i = 0; i < n; i++)
      if (a[i] >= p) q.push(i);
    while (K) {
      l = q.front();
      q.pop();
      if (a[l] > p) q.push(l);
      K--;
    }
    j = 0;
    while (!q.empty()) {
      if (j++) printf(" ");
      l = q.front();
      q.pop();
      l++;
      printf("%I64d", l);
    }
    printf("\n");
  }
  return 0;
}
