#include <bits/stdc++.h>
using namespace std;
signed main() {
  long long t;
  cin >> t;
  while (t--) {
    long long n, cap, f = 0, sum = 0;
    cin >> n >> cap;
    vector<pair<long long, long long>> v(n);
    vector<long long> ans;
    for (long long i = 0; i < n; i++) {
      cin >> v[i].first;
      v[i].second = i + 1;
    }
    sort(v.begin(), v.end());
    long long l = 0, r = 0, mid = cap / 2;
    if (cap % 2 != 0) mid++;
    while (l < n) {
      if (sum >= mid && sum <= cap) {
        for (long long i = l; i < r; i++) ans.push_back(v[i].second);
        break;
      }
      while (r < n && sum < cap) {
        sum += v[r].first;
        if (sum >= mid && sum <= cap) {
          for (long long i = l; i <= r; i++) ans.push_back(v[i].second);
          f = 1;
          break;
        }
        r++;
      }
      if (f) break;
      if (sum >= mid && sum <= cap) {
        for (long long i = l; i < r; i++) ans.push_back(v[i].second);
        break;
      }
      sum -= v[l].first;
      l++;
    }
    if (ans.size() == 0)
      cout << -1 << endl;
    else {
      cout << ans.size() << endl;
      sort(ans.begin(), ans.end());
      for (long long i = 0; i < ans.size(); i++) cout << ans[i] << " ";
      cout << endl;
    }
  }
}
