#include <bits/stdc++.h>
using namespace std;
const long long inf = 1e9 + 69;
const int MX = 1e3 + 5;
const int LG = (int)log2(MX);
const long long mod = 1e9 + 7;
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
int n;
long long w;
vector<pair<long long, int> > wt;
int main() {
  cin.tie(0)->sync_with_stdio(0);
  int tc;
  cin >> tc;
  for (; tc--;) {
    cin >> n >> w;
    wt.resize(n);
    for (int i = 0; i < n; i++) {
      cin >> wt[i].first;
      wt[i].second = i + 1;
    }
    sort(wt.begin(), wt.end());
    while (wt.size() && wt.back().first > w) wt.pop_back();
    if (wt.empty())
      cout << -1 << "\n";
    else {
      long long tmp = 0ll;
      vector<int> id;
      for (int i = wt.size() - 1; i >= 0; i--) {
        tmp += wt[i].first;
        id.push_back(wt[i].second);
        if ((w + 1) / 2 <= tmp && tmp <= w) break;
      }
      if (tmp < (w + 1) / 2 || tmp > w)
        cout << -1 << "\n";
      else {
        cout << id.size() << "\n";
        sort(id.begin(), id.end());
        for (int i : id) cout << i << " ";
        cout << "\n";
      }
    }
  }
}
