func_code_string: #include <bits/stdc++.h>   using namespace std;   set<int> s;   int cnt[1009];   int vec[1009];   vector<int> ans;   int main() {     int a, b, c, d, e, i, j, k, l, n, m, x, y, t, p;     scanf( %d , &t);     for (p = 1; p <= t; p++) {       scanf( %d , &n);       s.clear();       ans.clear();       for (i = 0; i <= n; i++) {         s.insert(i);         cnt[i] = 0;       }       for (i = 1; i <= n; i++) {         scanf( %d , &vec[i]);         s.erase(vec[i]);         cnt[vec[i]]++;       }       c = 0;       for (i = 2; i <= n; i++) {         if (vec[i] < vec[i - 1]) {           c = 1;           break;         }       }       if (c) {         while (c) {           auto it = s.begin();           a = *it;           i = a;           if (i == 0) {             i = 1;             for (j = 2; j <= n; j++) {               if (vec[j] < vec[j - 1]) {                 if (vec[j] != j) {                   i = j;                 } else {                   i = j - 1;                 }                 break;               }             }           }           s.erase(it);           ans.push_back(i);           cnt[a]++;           cnt[vec[i]]--;           if (cnt[vec[i]] == 0) {             s.insert(vec[i]);           }           vec[i] = a;           c = 0;           for (i = 2; i <= n; i++) {             if (vec[i] < vec[i - 1]) {               c = 1;               break;             }           }         }       }       l = ans.size();       printf( %d n , l);       for (i = 0; i < l; i++) {         printf( %d  , ans[i]);       }       printf(  n );     }   }   