#include #include using namespace std; bool use[10]; int k,x,last,T; bool ans; bool chk(int x,int y){ if (use[5]) return false; if (x==1 && y==9) return true; if (x==3 && y==7) return true; return false; } int main(){ scanf("%d",&T); while(T--){ for (int i=1;i<=9;i++){ use[i]=0; } scanf("%d",&k); last=0; bool ans=true; for (int i=1;i<=k;i++){ scanf("%d",&x); if (x<=0 || x>9){ ans=false; continue; } if (use[x]){ ans=false; } if (last==0){ } else { if (last % 3==1 && x % 3==0 && (last-1)/3==(x-1)/3){ if (!use[last+1]){ ans=false; } } if (last % 3==0 && x % 3==1 && (last-1)/3==(x-1)/3){ if (!use[x+1]){ ans=false; } } if (last-x==6 && !use[x+3]){ ans=false; } if (x-last==6 && !use[last+3]){ ans=false; } if (chk(x,last) || chk(last,x)){ ans=false; } } use[x]=true; last=x; } if (k<4) ans=false; if (ans) puts("valid"); else puts("invalid"); } }