#define _USE_MATH_DEFINES #include //cin, cout #include //vector #include //sort,min,max,count #include //string,getline, to_string #include //abs(int) #include //swap, pair #include //deque #include //INT_MAX #include //bitset #include //sqrt, ceil. M_PI, pow, sin #include //fixed #include //setprecision #include //stringstream #include //gcd, assumlate #include //randam_device #include //numeric_limits #include //tm using namespace std; constexpr int64_t D_MOD = 1000000007; constexpr int64_t F_MOD = 998244353; int main() { int N; cin >> N; vector S(N); int ans = 0; int cntd = 0; int cntb = 0; for (int i = 0; i < N; i++) { cin >> S.at(i); cntd = 0; cntb = 0; for (int j = 0; j < N; j++) { if (S.at(i).at(j) == '.') { cntd++; } else if (S.at(i).at(j) == 'B') { cntb++; } } if (cntd == 1 && cntb == 0) { ans++; } } for (int i = 0; i < N; i++) { cntd = 0; cntb = 0; for (int j = 0; j < N; j++) { if (S.at(j).at(i) == '.') { cntd++; } else if (S.at(j).at(i) == 'B') { cntb++; } } if (cntd == 1 && cntb == 0) { ans++; } } cntd = 0; cntb = 0; for (int i = 0; i < N; i++) { if (S.at(i).at(i) == '.') { cntd++; } else if (S.at(i).at(i) == 'B') { cntb++; } } if (cntd == 1 && cntb == 0) { ans++; } cntd = 0; cntb = 0; for (int i = 0; i < N; i++) { if (S.at(i).at(N - i - 1) == '.') { cntd++; } else if (S.at(i).at(N - i - 1) == 'B') { cntb++; } } if (cntd == 1 && cntb == 0) { ans++; } cout << ans << endl; return 0; }