#define _GLIBCXX_DEBUG #include using namespace std; //typedef long long ll; #define rep(i,a,b) for(int i=a;i; // intの1次元の型に vi という別名をつける using vvi = vector; // intの2次元の型に vvi という別名をつける //using mint = modint998244353; const long long INF = 1e18; //bit全探索 rep(i,0,1<<(n-1)){rep(j,0,n-1)if(I&(1<>vec(n,vector(n)); rep(i,0,n){ string s; cin>>s; rep(j,0,n){ vec[i][j]=s[j]; } } rep(i,0,n){ rep(j,0,n){ if(vec[i][j]=='A'){rr[i]+=101;ll[j]+=101;} else if(vec[i][j]='.'){rr[i]+=1;ll[j]+=1;} } } rep(i,0,n){ if(vec[i][i]=='A')r1+=101; else if(vec[i][i]=='.')r1+=1; if(vec[n-1-i][n-1-i]=='A')r2+=101; else if(vec[n-1-i][n-1-i]=='.')r2+=1; } int ans=0; int aa=(n-1)*101+1; rep(i,0,n){if(rr[i]==aa)ans++;} rep(i,0,n){if(ll[i]==aa)ans++;} if(r1==aa)ans++; if(r2==aa)ans++; cout<