use std::io::Read; fn j(c: Vec<char>) -> bool { !c.contains(&'B') && c.iter().filter(|&&x| x == '.').count() == 1 } fn main() { let mut s = String::new(); std::io::stdin().read_to_string(&mut s).ok(); let c: Vec<Vec<_>> = s.lines().skip(1).map(|l| l.chars().collect()).collect(); let n = c.len(); let mut a = 0; a += j((0..n).map(|i| c[i][i]).collect()) as u8; a += j((0..n).map(|i| c[i][n - i - 1]).collect()) as u8; for i in 0..n { a += j((0..n).map(|j| c[i][j]).collect()) as u8; a += j((0..n).map(|j| c[j][i]).collect()) as u8; } println!("{a}") }