#include <bits/stdc++.h>
using namespace std;
long long maxi(long long a, long long b) { return a > b ? a : b; }
long long mini(long long a, long long b) { return a < b ? a : b; }
bool comparator(long long a, long long b) { return a > b; }
void AUTO() {}
int main() {
  AUTO();
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cout.precision(10);
  ;
  long long tc;
  cin >> tc;
  while (tc--) {
    long long n, W;
    cin >> n >> W;
    long long a[n];
    for (int i = 0; i < (int)n; i++) cin >> a[i];
    long long mn = -1;
    int id = -1;
    bool ok = false;
    for (int i = 0; i < (int)n; i++) {
      mn = mini(mn, a[i]);
      if (a[i] <= W && a[i] >= (W + 1) / 2) ok = true, id = i;
    }
    if (ok)
      cout << 1 << '\n' << id + 1 << '\n';
    else if (mn > W) {
      cout << -1 << '\n';
    } else {
      long long sum = 0;
      int i = n - 1;
      vector<int> ans;
      while (i >= 0 && sum < (W + 1) / 2) {
        if (a[i] > W) {
          i--;
          continue;
        }
        ans.push_back(i + 1);
        sum += a[i];
        i--;
      }
      if (sum < (W + 1) / 2)
        cout << -1 << '\n';
      else {
        cout << ans.size() << '\n';
        for (int i = ans.size() - 1; i >= 0; i--) {
          cout << ans[i] << " ";
        }
        cout << '\n';
      }
    }
  }
  return 0;
}
