#include <bits/stdc++.h>
using namespace std;
int main() {
  int i = 0, j = 0, cs = 0, in;
  unsigned long long T;
  cin >> T;
  while (T--) {
    int n;
    cin >> n;
    vector<int> v(n);
    vector<int> rec(3000);
    for (i = 0; i < n; i++) {
      cin >> v[i];
      rec[v[i]]++;
    }
    set<int> s;
    for (i = 0; i < 3000; i++)
      if (!rec[i]) s.insert(i);
    i = 0;
    bool vis[n + 5];
    memset(vis, false, sizeof(vis));
    vector<int> ans;
    while (i < n) {
      int mex = *s.begin();
      if (mex < n) {
        int para = v[mex];
        v[mex] = mex;
        s.erase(s.begin());
        ans.push_back(mex + 1);
        vis[mex] = true;
        rec[para]--;
        rec[mex]++;
        if (!rec[para]) s.insert(para);
        continue;
      }
      if (vis[i]) {
        i++;
        continue;
      }
      if (v[i] == i) {
        vis[i] = true;
        i++;
        continue;
      }
      int para = v[i];
      v[i] = mex;
      s.erase(s.begin());
      rec[mex]++;
      rec[para]--;
      if (!rec[para]) s.insert(para);
      ans.push_back(i + 1);
      i++;
    }
    cout << ans.size() << "\n";
    for (int fi = 0; fi < ans.size(); fi++) cout << ans[fi] << " ";
    cout << "\n";
    ;
  }
  return 0;
}
