#include <bits/stdc++.h>
int aa[100000];
int compare1(const void *a, const void *b) {
  int ia = *(int *)a;
  int ib = *(int *)b;
  return aa[ia] != aa[ib] ? aa[ia] - aa[ib] : ia - ib;
}
int compare2(const void *a, const void *b) {
  int ia = *(int *)a;
  int ib = *(int *)b;
  return ia - ib;
}
int used[100000], ii[100000];
long long solve(int n, int i) {
  long long sum;
  int j;
  memset(used, 0, sizeof used);
  sum = 0;
  for (j = 0; j < i; j++) {
    sum += (long long)(n - j) * (aa[ii[j]] - (j == 0 ? 0 : aa[ii[j - 1]]));
    used[ii[j]] = 1;
  }
  for (j = n - 1; j > ii[i - 1]; j--) sum -= !used[j];
  return sum;
}
int main() {
  int n, i, j, lower, upper;
  long long sum, k, x;
  scanf("%d%lld", &n, &k);
  sum = 0;
  for (i = 0; i < n; i++) {
    scanf("%d", &aa[i]);
    sum += aa[i];
  }
  if (k > sum)
    printf("-1\n");
  else {
    for (i = 0; i < n; i++) ii[i] = i;
    qsort(ii, n, sizeof *ii, compare1);
    lower = 0, upper = n + 1;
    while (upper - lower > 1) {
      i = (lower + upper) / 2;
      if (solve(n, i) <= k)
        lower = i;
      else
        upper = i;
    }
    if (lower < n) {
      x = (k - solve(n, lower)) % (n - lower);
      qsort(ii + lower, n - lower, sizeof *ii, compare2);
      for (j = 0; j < n - lower; j++)
        if (ii[lower + j] > ii[lower - 1]) break;
      if (j == n - lower) j = 0;
      for (i = 0; i < n - lower; i++)
        printf("%d ", ii[(j + i + x) % (n - lower) + lower] + 1);
      printf("\n");
    }
  }
  return 0;
}
