#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; }