#include <bits/stdc++.h>
using namespace std;
const long long int mod = 1e9 + 7;
long long int power(long long int a, long long int b);
long long int flcm(long long int n, long long int m);
long long int fgcd(long long int n, long long int m);
long long int modinv(long long int x);
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long int n, m, k, u, v, t = 1, temp, ans = 0, flag = 1, c = 0, min_el,
                               max_el, sum_el;
  string s, s1, s2;
  cin >> t;
  while (t--) {
    ans = 0;
    c = 0;
    flag = -1;
    sum_el = 0;
    cin >> n >> k;
    long long int a[n];
    for (long long int i = 0; i < n; i++) {
      cin >> a[i];
    }
    long long int vis[n];
    memset(vis, 0, sizeof(vis));
    for (long long int i = 0; i < n; i++) {
      if (sum_el + a[i] <= k) {
        sum_el += a[i];
        vis[i] = 1;
        c++;
      }
      if (a[i] > (k + 1) / 2 && a[i] <= k) flag = i;
    }
    if (flag != -1) {
      cout << 1 << endl;
      cout << (flag + 1) << endl;
      continue;
    }
    if (sum_el >= (k + 1) / 2) {
      cout << c << endl;
      for (long long int i = 0; i < n; i++) {
        if (vis[i]) cout << (i + 1) << " ";
      }
      cout << endl;
      ;
    } else
      cout << -1 << endl;
  }
  return 0;
}
long long int power(long long int a, long long int b) {
  long long int res = 1;
  while (b) {
    if (b % 2) {
      res = (res * a) % mod;
    }
    a = (a * a) % mod;
    b /= 2;
  }
  return res;
}
long long int flcm(long long int n, long long int m) {
  long long int temp = fgcd(n, m);
  return (n * m) / temp;
}
long long int fgcd(long long int n, long long int m) {
  long long int temp;
  while (m != 0) {
    temp = n;
    n = m;
    m = temp % m;
  }
  return n;
}
long long int modinv(long long int x) { return power(x, mod - 2); }
