#include<stdio.h> #include<string.h> #include<queue> using namespace std; const int M = 2050; int num[M] , temp[M] , n; char ans[M]; bool flag; void dfs(int step , int l , int r){ if(flag) return ; //printf("step = %d l = %d r = %d\n" , step , l , r); if(l > n / 2 || r > n / 2){ return; } if(step == n && l == n / 2 && r == n / 2){ flag = true; return ; } ans[step] = '0'; temp[l] = num[step]; dfs(step + 1 , l + 1 , r); if(flag) return; if(temp[r] == num[step]){ ans[step] = '1'; //temp[r] = num[step]; dfs(step + 1 , l , r + 1); } return ; } int main(){ int t; scanf("%d" , &t); while(t --){ flag = false; scanf("%d" , &n); for(int i = 0 ; i < n ; i ++){ scanf("%d" , &num[i]); } dfs(0 , 0 , 0); for(int i = 0 ; i < n ; i ++){ printf("%c" , ans[i]); } printf("\n"); } return 0; }