rt
#include<bits/stdc++.h>
using namespace std;
int n,a[100],x[100],y[100],z[100],ans;
char p[1005][1005];
void dfs(int sum){
if(sum>n){
ans++;
return;
}
for(int i=1;i<=n;i++){
if(x[sum+i]==0&&y[i]==0&&z[sum-i+n]==0&&p[sum][i]!='.'){
a[sum]=i;
x[sum+i]=1;
y[i]=1;
z[sum-i+n]=1;
dfs(sum+1);
x[sum+i]=0;
y[i]=0;
z[sum-i+n]=0;
}
}
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin>>p[i][j];
}
}
dfs(1);
cout<<ans;
}