#include<string.h>

int x(int a[][6],int n,int s,int t){
int b[6]={},c[6][6]={},i=0,j=0,f=1,w,l;
if(t==0){
for(i=1;i<n;i++)for(j=0;j<n;j++)if(a[i][j]=='o')b[i]++;
for(i=1;i<n;i++)if(b[i]>s)f++;
return f;
}
for(i=1;i<n&&a[i][j]!='-';i++)for(j=i+1;j<n&&a[i][j]!='-';j++);
memcpy(c,a,144);
c[i][j]='o';c[j][i]='x';w=x(c,n,s,t-1);
c[i][j]='x';c[j][i]='o';l=x(c,n,s,t-1);
return w<l?w:l;
}

int main(){
int n,a[6][6],s=0,t=0,i,j;
scanf("%d\n",&n);
for(i=0;i<n;i++){
for(j=0;j<n;j++)a[i][j]=getchar(),a[i][j]-'-'||t++;
getchar();
}
t/=2;
for(j=0;j<n;j++){
if(a[0][j]=='-'){a[0][j]='o';a[j][0]='x';t--;}
if(a[0][j]=='o')s++;
}
printf("%d",x(a,n,s,t));
return 0;
}