#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 10;
int n, a[N], sum[N];
vector<int> ans;
void doit(int l, int r) {
  if (r - l + 1 <= 2) return;
  for (int i = l; i <= r - 2; i += 2) ans.push_back(i);
  for (int i = r - 4; i >= l; i -= 2) ans.push_back(i);
}
void solve() {
  ans.clear();
  scanf("%d", &n);
  for (int i = 1; i <= n; ++i) scanf("%d", &a[i]);
  for (int i = 1; i <= n; ++i) sum[i] = sum[i - 1] ^ a[i];
  if (sum[n]) return (void)(puts("NO"));
  if (n & 1) {
    puts("YES");
    doit(1, n);
    printf("%d\n", ans.size());
    for (int j = 0; j < ans.size(); ++j) printf("%d ", ans[j]);
    puts("");
    return;
  }
  for (int i = 1; i <= n; i += 2) {
    if (~sum[i] & 1) {
      puts("YES");
      doit(1, i);
      doit(i + 1, n);
      printf("%d\n", ans.size());
      for (int j = 0; j < ans.size(); ++j) printf("%d ", ans[j]);
      puts("");
      return;
    }
  }
  puts("NO");
}
int main() {
  int T;
  cin >> T;
  while (T--) solve();
  return 0;
}
