#include <bits/stdc++.h>
using namespace std;
const int MAXN = 2e5 + 10;
const int mod = 1000000007;
int ans[MAXN];
int n;
priority_queue<pair<int, int> > q;
int tot;
int main() {
  int t;
  scanf("%d", &t);
  while (t--) {
    long long W;
    tot = 0;
    scanf("%d %lld", &n, &W);
    for (int i = 1; i <= n; i++) {
      int w;
      scanf("%d", &w);
      q.push({w, i});
    }
    long long l = (W + 1) / 2;
    long long sum = 0;
    while (q.size()) {
      pair<int, int> temp = q.top();
      q.pop();
      if (sum + temp.first > W) {
        continue;
      }
      sum += temp.first;
      ans[++tot] = temp.second;
      if (sum >= l) {
        break;
      }
    }
    if (tot && sum >= l) {
      cout << tot << endl;
      for (int i = 1; i <= tot; i++) cout << ans[i] << " ";
      cout << endl;
    } else
      cout << -1 << endl;
    while (!q.empty()) q.pop();
  }
  return 0;
}
