#include #define chmin(x,y) (x) = min((x),(y)) #define chmax(x,y) (x) = max((x),(y)) using namespace std; using ll = long long; int main(){ // input int N; cin >> N; assert(2 <= N && N <= 100); vector v; string s; while(cin >> s){ assert(s.size() == N); v.push_back(s); } assert(v.size() == N); // solve int ans = 0; int a_num = 0, b_num = 0; // check tate + assert for(int i = 0; i < N; i++){ int a = 0, b = 0; for(int j = 0; j < N; j++){ if(v[i][j] == 'A'){ a++; a_num++; } else if(v[i][j] == 'B'){ b++; b_num++; } assert(v[i][j] == 'A' || v[i][j] == 'B' || v[i][j] == '.'); } if(a == N-1 && b == 0) ans++; assert(a < N); assert(b < N); } // check yoko for(int j = 0; j < N; j++){ int a = 0, b = 0; for(int i = 0; i < N; i++){ if(v[i][j] == 'A') a++; else if(v[i][j] == 'B') b++; } if(a == N-1 && b == 0) ans++; assert(a < N); assert(b < N); } // check naname int a1 = 0, a2 = 0, b1 = 0, b2 = 0; for(int i = 0; i < N; i++){ if(v[i][i] == 'A') a1++; if(v[i][i] == 'B') b1++; if(v[i][N-1-i] == 'A') a2++; if(v[i][N-1-i] == 'B') b2++; } if(a1 == N-1 && b1 == 0) ans++; if(a2 == N-1 && b2 == 0) ans++; // assert assert(a1 < N && a2 < N && b1 < N && b2 < N); assert(a_num == b_num); // output assert(ans > 0); cout << ans << endl; }