#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); 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); } } } } int ans = 0; for(auto it=s.begin(); it!=--s.end(); ++it){ auto it2 = it; ++ it2; int p = *it; int q = *it2; if(!(0 < p && p < len)) continue; a[y[0]][x[0]] = p; a[y[1]][x[1]] = len - p; if(checkKadomatsu(a)) ans += q - p; } cout << ans << endl; } return 0; }