#include <bits/stdc++.h>
using namespace std;
struct node {
  int num;
  int value;
} data[100005];
int cmp1(node a, node b) { return a.value < b.value; }
int cmp2(node a, node b) { return a.num < b.num; }
int main() {
  int n;
  long long co;
  scanf("%d%I64d", &n, &co);
  for (int i = 0; i < n; i++) {
    scanf("%d", &data[i].value);
    data[i].num = i + 1;
  }
  sort(data, data + n, cmp1);
  long long k = 0, p = 0;
  for (; p < n; p++)
    if (data[p].value > k) break;
  while (1) {
    long long kk = data[p].value;
    if (n == p) {
      if (co) printf("-1\n");
      return 0;
    } else if (co >= (kk - k) * (n - p)) {
      co -= (kk - k) * (n - p);
      k = data[p].value;
      for (; p < n; p++)
        if (data[p].value > k) break;
    } else {
      long long mod = co % (n - p);
      k += co / (n - p) + 1;
      sort(data + p, data + n, cmp2);
      for (int pp = p + mod; pp < n; pp++) {
        if (pp == p + mod)
          printf("%d", data[pp].num);
        else
          printf(" %d", data[pp].num);
      }
      for (int pp = p; pp < p + mod; pp++)
        if (data[pp].value > k) printf(" %d", data[pp].num);
      break;
    }
  }
  return 0;
}
