#include <bits/stdc++.h>
int main() {
  int x, y, z, i, j, k, a, b, c, n, m, t, mat[210210];
  scanf("%d", &t);
  long long w, sum;
  while (t--) {
    scanf("%d %lld", &n, &w);
    j = -1;
    sum = 0;
    c = 0;
    for (x = 0; x < n; x++) {
      scanf("%d", &mat[x]);
      if (mat[x] >= (w + 1) / 2 && mat[x] <= w) j = x;
      if (mat[x] <= w) sum += mat[x];
    }
    if (j != -1)
      printf("1\n%d\n", j + 1);
    else if (sum < (w + 1) / 2)
      puts("-1");
    else {
      x = -1;
      if (sum > w) {
        for (x = 0; x < n; x++) {
          if (mat[x] > w) continue;
          sum -= mat[x];
          if (sum >= (w + 1) / 2 && sum <= w) break;
        }
      }
      for (y = x + 1; y < n; y++)
        if (mat[y] <= w) c++;
      printf("%d\n", c);
      for (y = x + 1; y < n; y++)
        if (mat[y] <= w) printf("%d ", y + 1);
      puts("");
    }
  }
  return 0;
}
