#include #include #define N (5) using namespace std; static int mesh[N+2][N+2]; static int die[6]; static int cnt[6]; void traverse(int i, int j, int pT, int pB, int pN, int pS, int pE, int pW) { die[pT] = mesh[i][j]; cnt[pT]++; mesh[i][j] = 0; if(mesh[i-1][j] != 0) traverse(i - 1, j, pE, pW, pN, pS, pB, pT); if(mesh[i+1][j] != 0) traverse(i + 1, j, pW, pE, pN, pS, pT, pB); if(mesh[i][j-1] != 0) traverse(i, j - 1, pS, pN, pT, pB, pE, pW); if(mesh[i][j+1] != 0) traverse(i, j + 1, pN, pS, pB, pT, pE, pW); } bool core(void) { int ii = 0; int jj = 0; int kk = 0; for(int i = 1; i <= N; i++) { for(int j = 1; j <= N; j++) { cin >> mesh[i][j]; if(mesh[i][j] != 0) { ii = i; jj = j; kk++; } } } if(ii == 0 && jj == 0) return false; if(kk != 6) return false; fill(die, die + 6, 0); fill(cnt, cnt + 6, 0); traverse(ii, jj, 0, 1, 2, 3, 4, 5); for(int i = 0; i < 6; i++) { if(cnt[i] != 1) return false; } for(int i = 0; i < 6; i += 2) { if(die[i] + die[i+1] != 7) return false; } return true; } int main(void) { int n; cin >> n; for(int i = 0; i < n; i++) { cout << (core() ? "true" : "false") << endl; } return 0; }