#include <bits/stdc++.h>
using namespace std;
long long t, n, w, v;
long long ans[200005];
struct good {
  int id;
  long long val;
} e[200005];
inline bool cmp(good a, good b) { return a.val > b.val; }
int main() {
  cin >> t;
  while (t--) {
    long long sum = 0;
    int top = 0, f = 0;
    cin >> n >> w;
    v = ceil(w / 2.0);
    for (int i = 1; i <= n; i++) scanf("%lld", &e[i].val), e[i].id = i;
    sort(e + 1, e + 1 + n, cmp);
    for (int i = 1; i <= n; i++) {
      long long now = sum + e[i].val;
      if (now < v)
        ans[++top] = e[i].id, sum += e[i].val;
      else if (now > w)
        continue;
      else {
        ans[++top] = e[i].id;
        f = 1;
        break;
      }
    }
    if (!f)
      cout << -1 << endl;
    else {
      cout << top << endl;
      for (int i = 1; i <= top; i++) printf("%lld ", ans[i]);
      cout << endl;
    }
  }
}
