#include <bits/stdc++.h>
using namespace std;
vector<int> knapsack(vector<long long int> w, int n, long long int cap) {
  vector<int> k;
  long long int sum = 0;
  for (int i = 1; i <= n; i++) {
    if (w[i] > cap) continue;
    if (w[i] >= (cap + 1) / 2 && w[i] <= cap) return vector<int>(1, i);
    sum += w[i];
    k.push_back(i);
    if (sum >= (cap + 1) / 2)
      return k;
    else if (sum > cap)
      break;
  }
  return vector<int>(0);
}
int main() {
  int t;
  cin >> t;
  while (t--) {
    long long int cap;
    int n;
    cin >> n >> cap;
    vector<long long int> w(n + 1, 0);
    for (int i = 1; i <= n; i++) cin >> w[i];
    vector<int> k = knapsack(w, n, cap);
    if (k.size()) {
      cout << k.size() << endl;
      for (int x : k) cout << x << " ";
    } else {
      cout << "-1";
    }
    cout << endl;
  }
  return 0;
}
