#include <bits/stdc++.h>
using namespace std;
const int maxn = 100000 + 10;
pair<int, int> p[maxn];
bool flag[maxn];
int A[maxn];
int n;
long long m;
int main() {
  cin >> n >> m;
  long long sum = 0;
  for (int i = 1, k; i <= n; i++) {
    scanf("%d", &A[i]);
    p[i - 1] = make_pair(A[i], i);
    sum += A[i];
  }
  if (sum < m) {
    printf("-1\n");
    return 0;
  }
  if (sum == m) return 0;
  sort(p, p + n);
  int prev = 0;
  for (int i = 0, j, xxx = n; i < n; i = j) {
    for (j = i; j < n && p[i].first == p[j].first; j++)
      ;
    if (m >= (long long)(p[i].first - prev) * xxx) {
      m -= (long long)(p[i].first - prev) * xxx;
      for (int k = i; k < j; k++) flag[p[k].second] = 1;
      prev = p[i].first;
      xxx -= (j - i);
      continue;
    }
    if (m >= (long long)(p[i].first - prev - 1) * xxx) {
      m -= (long long)(p[i].first - prev - 1) * xxx;
      int now;
      for (int o = 1, ok = 0; o <= n; o++)
        if (!flag[o]) {
          m--;
          if (m < 0) {
            now = o;
            break;
          } else if (A[o] == p[i].first)
            flag[o] = 1;
        }
      for (int i = 0, ok = 0; i < n; i++) {
        if (!flag[now]) {
          if (ok) printf(" ");
          ok = 1;
          printf("%d", now);
        }
        now++;
        if (now > n) now = 1;
      }
      printf("\n");
      return 0;
    } else {
      m %= xxx;
      int now;
      for (int o = 1, ok = 0; o <= n; o++)
        if (!flag[o]) {
          m--;
          if (m < 0) {
            now = o;
            break;
          }
        }
      for (int i = 0, ok = 0; i < n; i++) {
        if (!flag[now]) {
          if (ok) printf(" ");
          ok = 1;
          printf("%d", now);
        }
        now++;
        if (now > n) now = 1;
      }
      printf("\n");
      return 0;
    }
  }
}
