#include <bits/stdc++.h>
using namespace std;
int main() {
  long long t;
  cin >> t;
  while (t--) {
    long long n, w;
    cin >> n >> w;
    bool ok = false;
    vector<pair<long long, long long>> weights;
    for (int i = 0; i < n; i++) {
      long long e;
      cin >> e;
      weights.push_back({e, i + 1});
    }
    sort(weights.begin(), weights.end());
    long long sum = 0;
    vector<pair<long long, long long>> ans;
    for (int i = 0; i < n; i++) {
      if (sum + weights[i].first <= w) {
        sum += weights[i].first;
        ans.push_back({weights[i].second, weights[i].first});
      } else {
        sum += weights[i].first;
        for (int j = (long long)ans.size() - 1; j >= 0; j--) {
          long long last = 0;
          if ((long long)ans.size() > 0) {
            last = ans.back().second;
            ans.pop_back();
          }
          sum -= last;
          if (sum >= (w + 1) / 2 && sum <= w) {
            ans.push_back({weights[i].second, weights[i].first});
            break;
          }
        }
      }
      if (sum >= (w + 1) / 2 && sum <= w) {
        ok = true;
        break;
      }
    }
    long long sz = (long long)ans.size();
    if (sz == 0 || !ok)
      cout << "-1\n";
    else {
      cout << ans.size() << "\n";
      for (int i = 0; i < sz; i++) cout << ans[i].first << " ";
      cout << "\n";
    }
  }
}
