N=int(raw_input()) table=[] n_null=0 for i in range(N): s= raw_input() table.append(s) for t in s: if t=='-': n_null+=1 n_null/=2 bestans=N for mask in range(1<<n_null): n_win=[0 for i in range(N)] ind=0 for i in range(N): for j in range(i+1,N): if table[i][j]=='o': n_win[i]+=1 elif table[i][j]=='x': n_win[j]+=1 else: if (mask&(1<<ind))!=0: n_win[i]+=1 else: n_win[j]+=1 ind+=1 ans=1 win0=n_win[0] winlist=list(set(n_win)) winlist.sort() winlist.reverse() for i in range(len(winlist)): if winlist[i]==win0: break ans+=1 bestans=min(ans,bestans) print bestans