import copy N = int(input()) S = [list(input()) for _ in range(N)] A = [] for i in range(N-1): for j in range(i+1,N): if S[i][j]=="o" and S[j][i]=="-": S[j][i] = "x" elif S[i][j]=="x" and S[j][i]=="-": S[j][i] = "o" elif S[i][j]=="-" and S[j][i]=="o": S[i][j] = "x" elif S[i][j]=="-" and S[j][i]=="x": S[i][j] = "o" if S[i][j]=="-": A.append((i,j)) ans = N for i in range(1<>j)&1: B[y][x] = "o" B[x][y] = "x" else: B[y][x] = "x" B[x][y] = "o" C = [0]*N for k in range(N): C[k] = B[k].count("o") a = C[0] C = sorted(list(set(C)),reverse=True) cnt = C.index(a)+1 ans = min(ans,cnt) print(ans)