#include<iostream>
#include<cstring>
#include<string>
using namespace std;
char a[100][100];
int book[100][100];
int n;
int bookh[1000][1000];
int ans=0;
int x[4]={0,0,1,-1};
int y[4]={1,-1,0,0};
bool up(int idx,int idy){
int t=idx;
do{
t--;
// cout <<t<<endl;
if(book[t][idy]==1){
// cout <<"ok"<<endl;
return false;
}
}while(t>=0);
// cout <<"ok"<<endl;
return true;
}
bool down(int idx,int idy){
int t=idx;
do{
t++;
// cout <<t<<endl;
if(book[t][idy]==1){
// cout <<"ok"<<endl;
return false;
}
}while(t<n);
// cout <<"ok"<<endl;
return true;
}
bool left(int idx,int idy){
int t=idy;
do{
t--;
// cout <<t<<endl;
if(book[idx][t]==1){
// cout <<"ok"<<endl;
return false;
}
}while(t>=0);
// cout <<"ok"<<endl;
return true;
}
bool right(int idx,int idy){
int t=idy;
do{
t++;
// cout <<t<<endl;
if(book[idx][t]==1){
// cout <<"ok"<<endl;
return false;
}
}while(t<n);
// cout <<"ok"<<endl;
return true;
}
bool zs(int idx,int idy){
int t=idx;
int t1=idy;
do{
t--;
t1--;
// cout <<t<<endl;
if(book[t][t1]==1){
// cout <<"ok"<<endl;
return false;
}
}while(t>=0&&t1>=0);
// cout <<"ok"<<endl;
return true;
}
bool ys(int idx,int idy){
int t=idx;
int t1=idy;
do{
t--;
t1++;
// cout <<t<<endl;
if(book[t][t1]==1){
// cout <<"ok"<<endl;
return false;
}
}while(t>=0&&t1<n);
// cout <<"ok"<<endl;
return true;
}
bool yx(int idx,int idy){
int t=idx;
int t1=idy;
do{
t++;
t1++;
// cout <<t<<endl;
if(book[t][t1]==1){
// cout <<"ok"<<endl;
return false;
}
}while(t<n&&t1<n);
// cout <<"ok"<<endl;
return true;
}
bool zx(int idx,int idy){
int t=idx;
int t1=idy;
do{
t++;
t1--;
// cout <<t<<endl;
if(book[t][t1]==1){
// cout <<"ok"<<endl;
return false;
}
}while(t<n&&t1>=0);
// cout <<"ok"<<endl;
return true;
}
int jn=0;
void dfs(int idx,int idy,int pre){
// int m=0;
// if(pre==n){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cout <<book[i][j]<<" ";
}
cout <<endl;
}
cout <<endl;
// cout <<endl<<pre<<endl;
// pre--;
// ans++;
// return;
//
// }
for(int i=0;i<4;i++){
// cout <<endl;
int dx=idx+x[i];
int dy=idy+y[i];
if(dx<0||dy<0||dx>=n||dy>=n)continue;
if(book[dx][dy]==0&&a[dx][dy]=='*'){
book[dx][dy]=2;
if(up(dx,dy)&&down(dx,dy)&&left(dx,dy)&&right(dx,dy)&&zx(dx,dy)&&zs(dx,dy)&&ys(dx,dy)&&yx(dx,dy)){
book[dx][dy]=1;
if(jn<=4)bookh[dx][dy]=1;
jn++;
pre++;
}
dfs(dx,dy,pre);
if(book[dx][dy]==1){
pre--;
}
book[dx][dy]=0;
}
}
}
int main(){
cin >>n;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cin >>a[i][j];
}
}
dfs(0,0,0);
cout <<ans;
return 0;
}