#include #include #include #include #include using namespace std; bool flag[10]; int check(int x, int y) { if(x == 1) { if(y == 3) { if(!flag[2]) return 0; return 1; } else if(y == 9) { if(!flag[5]) return 0; return 1; } else if(y == 7) { if(!flag[4]) return 0; return 1; } return 1; } else if(x == 3) { if(y == 1) { if(!flag[2]) return 0; return 1; } else if(y == 9) { if(!flag[6]) return 0; return 1; } else if(y == 7) { if(!flag[5]) return 0; return 1; } return 1; } else if(x == 7) { if(y == 1)//7 1 { if(!flag[4]) return 0; return 1; } else if(y == 9)//7 9 { if(!flag[8]) return 0; return 1; } else if(y == 3)//7 3 { if(!flag[5]) return 0; return 1; } return 1; } else if(x == 9) { if(y == 1) { if(!flag[5]) return 0; return 1; } else if(y == 3) { if(!flag[6]) return 0; return 1; } else if(y == 7) { if(!flag[8]) return 0; return 1; } return 1; } else if(x == 2) { if(y == 8) { if(!flag[5]) return 0; return 1; } return 1; } else if(x == 4) { if(y == 6) { if(!flag[5]) return 0; return 1; } return 1; } else if(x == 6) { if(y == 4) { if(!flag[5]) return 0; return 1; } return 1; } else if(x == 8) { if(y == 2) { if(!flag[5]) return 0; return 1; } return 1; } return 1; } int a[10]; int main(void) { int T; scanf("%d", &T); while(T--) { int n; int ans = 0; memset(flag, 0, sizeof(flag)); scanf("%d", &n); scanf("%d", &a[0]); if(1 <= a[0] && a[0] <= 9) flag[ a[0] ] = 1; else ans = 1; for(int i = 1; i < n; i++) { scanf("%d", &a[i]); if(1 <= a[i] && a[i] <= 9) { if(flag[ a[i] ]) ans = 1; flag[ a[i] ] = 1; } else ans = 1; if(!check(a[i-1], a[i])) { ans = 1; } // printf("i=%d ans=%d\n", i, ans);; } if(!ans && n >= 4) printf("valid\n"); else printf("invalid\n"); } return 0; }