#include <bits/stdc++.h>
using namespace std;
struct H {
  long long val, no;
} a[210000];
long long ans[210000], top;
int cmp(H a, H b) { return a.val > b.val; }
int main() {
  int T;
  cin >> T;
  while (T--) {
    top = 0;
    long long n, w;
    int flag = 0;
    cin >> n >> w;
    for (int i = 1; i <= n; i++) {
      cin >> a[i].val;
      a[i].no = i;
    }
    sort(a + 1, a + n + 1, cmp);
    long long tot = 0;
    for (int i = 1; i <= n; i++) {
      if (tot + a[i].val <= w) {
        tot += a[i].val;
        ans[++top] = a[i].no;
        if (tot >= (double)w / 2) {
          flag = 1;
          break;
        }
      }
    }
    if (flag) {
      cout << top << endl;
      for (int i = 1; i <= top; i++) cout << ans[i] << ' ';
    } else
      cout << "-1";
    cout << endl;
  }
  return 0;
}
