#include <bits/stdc++.h>
using namespace std;
void solve() {
  long long int n;
  long long int W;
  cin >> n >> W;
  vector<pair<long long int, long long int>> v;
  long long int l_bound = W % 2 == 1 ? W / 2 + 1 : W / 2;
  long long int x;
  for (int i = 0; i < n; i++) {
    cin >> x;
    v.push_back({x, i + 1});
  }
  sort(v.begin(), v.end());
  for (int i = 0; i < n; i++) {
    if (v[i].first >= l_bound && v[i].first <= W) {
      cout << "1" << endl << v[i].second << endl;
      return;
    }
  }
  long long int sum = 0;
  for (int i = 0; i < n; i++) {
    sum = sum + v[i].first;
    if (sum >= l_bound && sum <= W) {
      cout << i + 1 << endl;
      for (int j = 0; j <= i; j++) {
        cout << v[j].second << ' ';
      }
      cout << endl;
      return;
    }
  }
  cout << "-1" << endl;
  return;
}
int main() {
  int t;
  cin >> t;
  while (t--) {
    solve();
  }
}
