#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; bool checkKadomatsu(const vector& a) { if(a[0] == a[2]) return false; return (a[0] < a[1] && a[2] < a[1]) || (a[0] > a[1] && a[2] > a[1]); } bool checkKadomatsu(const vector >& a) { for(int i=0; i<3; ++i){ vector b(3), c(3); for(int j=0; j<3; ++j){ b[j] = a[i][j]; c[j] = a[j][i]; } if(!checkKadomatsu(b) || !checkKadomatsu(c)) return false; } vector b(3), c(3); for(int i=0; i<3; ++i){ b[i] = a[i][i]; c[i] = a[i][2-i]; } return checkKadomatsu(b) && checkKadomatsu(c); } int main() { int t; cin >> t; while(--t >= 0){ int len; cin >> len; vector > a(3, vector(3)); vector y, x; set s; s.insert(1); s.insert(len); s.insert(len/2-1); s.insert(len/2); s.insert(len/2+1); for(int i=0; i<3; ++i){ for(int j=0; j<3; ++j){ cin >> a[i][j]; if(a[i][j] == 0){ y.push_back(i); x.push_back(j); } else{ for(int k=-1; k<=1; ++k){ s.insert(a[i][j] + k); s.insert(len - a[i][j] + k); } } } } vector v(s.begin(), s.end()); int ans = 0; for(unsigned i=0; i