#include <bits/stdc++.h>
#pragma GCC optimize("-O3")
#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
using namespace std;
const long long MAXN = 1123456;
const long long N = 2e6;
const long long inf = 3e18;
const long long mod = 998244353;
const long long MOD = mod * (mod - 2);
mt19937_64 rnd(chrono::system_clock::now().time_since_epoch().count());
template <typename T>
void vout(T s) {
  cout << s << endl;
  exit(0);
}
void main_solve() {
  long long n;
  cin >> n;
  vector<long long> a(n + 1);
  for (int i = 1; i <= n; i++) cin >> a[i];
  vector<bool> f(n + 1);
  vector<long long> c, ans;
  long long s = 1;
  while (1) {
    c.push_back(s);
    if (f[s]) break;
    f[s] = 1;
    s = s - a[s];
  }
  reverse(c.begin(), c.end());
  ans.push_back(c[0]);
  for (int i = 1; i < (int)c.size(); i++)
    if (c[i] != c[0]) {
      ans.push_back(c[i]);
    } else
      break;
  cout << (int)ans.size() << "\n";
  for (auto i : ans) cout << i << " ";
  cout << "\n";
}
int main() {
  ios_base ::sync_with_stdio(0);
  cin.tie(0);
  long long t;
  cin >> t;
  while (t--) {
    main_solve();
  }
  return 0;
}
