#include <bits/stdc++.h>
using namespace std;
void solve() {
  long long int n, w;
  cin >> n >> w;
  long long int half = (w + 1) / 2;
  long long int a[n];
  vector<pair<long long int, long long int>> least, mid;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
    if (a[i] < half)
      least.push_back({a[i], i + 1});
    else if (a[i] >= half && a[i] <= w)
      mid.push_back({a[i], i + 1});
  }
  long long int have = 0;
  if (least.size() == 0 && mid.size() == 0) {
    cout << "-1\n";
  } else if (mid.size() != 0) {
    long long int x = mid[0].second;
    cout << "1\n" << x << "\n";
  } else {
    vector<long long int> ans;
    sort(least.begin(), least.end());
    for (int i = 0; i < least.size(); i++) {
      have += least[i].first;
      ans.push_back(least[i].second);
      if (have >= half) break;
    }
    if (have >= half) {
      cout << ans.size() << "\n";
      for (int i = 0; i < ans.size(); i++) {
        cout << ans[i] << " ";
      }
      cout << "\n";
    } else
      cout << "-1\n";
  }
  return;
}
int main() {
  long long int tc = 1;
  scanf("%lld", &tc);
  long long int mod = 1000000007;
  while (tc--) solve();
  return 0;
}
