#include<iostream>
using namespace std;
int n,sum,b[14][14];
string a[14];
bool check(int x,int y){
for (int i=0;i<n;i++){
if (b[x][i])return false;
if (b[i][y])return false;
}
for (int i=0,j=y-x;i<n&&y<n;i++,j++){
if (j>=0&&b[i][j])return false;
}
for (int i=2*x,j=y-x;i>=0&&y<n;i--,j++){
if (i<n&&j>=0&&b[i][j])return false;
}
return true;
}
void dfs(int x){
if (x==n){
sum++;
return ;
}
for (int i=0;i<n;i++){
if (a[x][i]=='.'||!check(x,i))continue;
b[x][i]=1;
dfs(x+1);
b[x][i]=0;
}
}
int main(){
cin>>n;
for (int i=0;i<n;i++){
cin>>a[i];
}
dfs(0);
cout<<sum;
}