#include <iostream>
#include <queue>
#include <vector>
#include <math.h>
#include <algorithm>
#include <string>
#include <map>
using namespace std;
int main(){
int t=0;
cin>>t;
while(t--){
vector<int> a;
vector<int> b;
int n=0;
cin>>n;
for(int i=0;i<n;++i){
int num=0;
cin>>num;
a.push_back(num);
}
while(!a.empty()){
if(a.size()==1){
if(a[0]==0){
b.push_back(1);
}else{
b.push_back(0);
}
break;
}
map<int,int> m;
vector<int> num;
for(int i=0;i<a.size();++i){
if(m[a[i]]==0){
m[a[i]]=i+1;
num.push_back(a[i]);
}
}
// cout<<m[1];break;
sort(num.begin(), num.end());
int maxNum=0;
int maxIdx=0;
for(int i=0;i<num.size();++i){
// cout<<num[i]<<endl;
if(num[i]==i){
maxNum=i;
// cout<<maxNum<<endl;
}else{
break;
}
}
b.push_back(maxNum+1);
// cout<<maxNum;break;
for(int i=0;i<=maxNum;++i){
// cout<<maxIdx<<" "<<m[i]<<endl;
maxIdx=max(maxIdx,m[i]);
}
// cout<<maxIdx;break;
vector<int> tmp;
int as=a.size();
// cout<<maxIdx<<" "<<as<<endl;
// break;
for(int i=maxIdx;i<as;++i){
tmp.push_back(a[i]);
}
a=tmp;
}
cout<<b.size()<<endl;
for(int i=0;i<b.size();++i){
cout<<b[i]<<" ";
}
cout<<endl;
}
}
ICAgICNpbmNsdWRlIDxpb3N0cmVhbT4KICAgICNpbmNsdWRlIDxxdWV1ZT4KICAgICNpbmNsdWRlIDx2ZWN0b3I+CiAgICAjaW5jbHVkZSA8bWF0aC5oPgogICAgI2luY2x1ZGUgPGFsZ29yaXRobT4KICAgICNpbmNsdWRlIDxzdHJpbmc+CiAgICAjaW5jbHVkZSA8bWFwPgogICAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiAgICBpbnQgbWFpbigpewogICAgICAgIGludCB0PTA7CiAgICAgICAgY2luPj50OwogICAgICAgIHdoaWxlKHQtLSl7CiAgICAgICAgICAgIHZlY3RvcjxpbnQ+IGE7CiAgICAgICAgICAgIHZlY3RvcjxpbnQ+IGI7CiAgICAgICAgICAgIGludCBuPTA7CiAgICAgICAgICAgIGNpbj4+bjsKICAgICAgICAgICAgZm9yKGludCBpPTA7aTxuOysraSl7CiAgICAgICAgICAgICAgICBpbnQgbnVtPTA7CiAgICAgICAgICAgICAgICBjaW4+Pm51bTsKICAgICAgICAgICAgICAgIGEucHVzaF9iYWNrKG51bSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgd2hpbGUoIWEuZW1wdHkoKSl7CiAgICAgICAgICAgIAlpZihhLnNpemUoKT09MSl7CiAgICAgICAgICAgIAkJaWYoYVswXT09MCl7CiAgICAgICAgICAgIAkJCWIucHVzaF9iYWNrKDEpOwogICAgICAgICAgICAJCX1lbHNlewogICAgICAgICAgICAJCQliLnB1c2hfYmFjaygwKTsKICAgICAgICAgICAgCQkJCiAgICAgICAgICAgIAkJfQogICAgICAgICAgICAJCWJyZWFrOwogICAgICAgICAgICAJfQogICAgICAgICAgICAgICAgbWFwPGludCxpbnQ+IG07CiAgICAgICAgICAgICAgICB2ZWN0b3I8aW50PiBudW07CiAgICAgICAgICAgICAgICBmb3IoaW50IGk9MDtpPGEuc2l6ZSgpOysraSl7CiAgICAgICAgICAgICAgICAgICAgaWYobVthW2ldXT09MCl7CiAgICAgICAgICAgICAgICAgICAgICAgIG1bYVtpXV09aSsxOwogICAgICAgICAgICAgICAgICAgICAgICBudW0ucHVzaF9iYWNrKGFbaV0pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIC8vIGNvdXQ8PG1bMV07YnJlYWs7CiAgICAgICAgICAgICAgICBzb3J0KG51bS5iZWdpbigpLCBudW0uZW5kKCkpOwogICAgICAgICAgICAgICAgaW50IG1heE51bT0wOwogICAgICAgICAgICAgICAgaW50IG1heElkeD0wOwogICAgICAgICAgICAgICAgZm9yKGludCBpPTA7aTxudW0uc2l6ZSgpOysraSl7CiAgICAgICAgICAgICAgICAgICAgLy8gY291dDw8bnVtW2ldPDxlbmRsOwogICAgICAgICAgICAgICAgICAgIGlmKG51bVtpXT09aSl7CiAgICAgICAgICAgICAgICAgICAgICAgIG1heE51bT1pOwogICAgICAgICAgICAgICAgICAgICAgICAvLyBjb3V0PDxtYXhOdW08PGVuZGw7CiAgICAgICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgCWJyZWFrOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGIucHVzaF9iYWNrKG1heE51bSsxKTsKICAgICAgICAgICAgICAgIC8vIGNvdXQ8PG1heE51bTticmVhazsKICAgICAgICAgICAgICAgIGZvcihpbnQgaT0wO2k8PW1heE51bTsrK2kpewogICAgICAgICAgICAgICAgCS8vIGNvdXQ8PG1heElkeDw8IiAiPDxtW2ldPDxlbmRsOwogICAgICAgICAgICAgICAgICAgIG1heElkeD1tYXgobWF4SWR4LG1baV0pOwogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgLy8gY291dDw8bWF4SWR4O2JyZWFrOwogICAgICAgICAgICAgICAgdmVjdG9yPGludD4gdG1wOwogICAgICAgICAgICAgICAgaW50IGFzPWEuc2l6ZSgpOwogICAgICAgICAgICAgICAgLy8gY291dDw8bWF4SWR4PDwiICI8PGFzPDxlbmRsOwogICAgICAgICAgICAgICAgLy8gYnJlYWs7CiAgICAgICAgICAgICAgICBmb3IoaW50IGk9bWF4SWR4O2k8YXM7KytpKXsKICAgICAgICAgICAgICAgICAgICB0bXAucHVzaF9iYWNrKGFbaV0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYT10bXA7CgogICAgICAgICAgICAgICAgCgogICAgICAgICAgICB9CiAgICAgICAgICAgIGNvdXQ8PGIuc2l6ZSgpPDxlbmRsOwogICAgICAgICAgICBmb3IoaW50IGk9MDtpPGIuc2l6ZSgpOysraSl7CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIGNvdXQ8PGJbaV08PCIgIjsKICAgICAgICAgICAgfQogICAgICAgICAgICBjb3V0PDxlbmRsOwoKICAgICAgICAgICAgCiAgICAgICAgfQogICAgfQ==