#include<bits/stdc++.h>
#define ioc ios::sync_with_stdio(0)
using namespace std;
const int MAXN=1e5+5;
int k,b[MAXN],n;
void solve(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>b[i];
if(b[i]>i) k=i;
}
vector<vector<int> > e(n+2);
for(int i=1;i<=n;i++){
e[b[i]].push_back(i);
}
int rt=e[0].size()?0:n+1;
queue<int> q;
q.push(rt);
cout<<k<<"\n";
while(!q.empty()){
int u=q.front();
if(u!=rt)cout<<u<<" ";
q.pop();
sort(e[u].begin(),e[u].end(),[&](int x,int y){return e[x].size()<e[y].size();});
for(auto v:e[u]) q.push(v);
}
cout<<"\n";
}
int main(){
ioc;
int t;
cin>>t;
while(t--){
solve();
}
}