#include<iostream>
using namespace std;
int e[100000],a[100000],b[100000],total[1001][100000];
int t,n,p,h,tol;
void f(int k){
int i,j,o;
if(k==n){
h++;
o=1;
for(i=k;i>=1;i--)
if(e[i]==1){
if(o==1){
b[h]=a[k-i];
o=0;
}
else{
b[h]=b[h]^a[k-i];
}
}
}
else{
e[k+1]=0;
f(k+1);
e[k+1]=1;
f(k+1);
}
}
void er(int u){
while(u>0){
h++;
if(u%2==1)
total[tol][h]=1;
else total[tol][h]=0;
u/=2;
}
}
int main(){
int i,j,k,l,o,w;
cin>>t;
tol=0;
for(i=1;i<=t;i++){
tol++;
cin>>n;
h=0;
w=0;
for(j=0;j<=n;j++)cin>>a[j];
f(0);
h++;
e[h]=a[n];
for(j=1;j<h;j++)
if(b[j]==b[j+1])w++;
cout<<w<<endl;
h=0;
er(w);
total[tol][0]=h;
tol++;
}
for(i=1;i<=tol;i++){
for(j=total[i][0];j>=1;j--)
cout<<total[i][j];
cout<<endl;
}
}
求助大佬