N = input() S = [list(raw_input()) for i in range(N)] def k_rank(s): wins = [row.count("o") for row in S] wk = wins[0] wins = set(wins) rank = 0 for w in wins: if w > wk: rank += 1 return rank + 1 def solve(a, b): if a >= N: return k_rank(S) if b >= N: return solve(a + 1, a + 2) if S[a][b] != '-': return solve(a, b + 1) # Pattern A S[a][b] = 'o' S[b][a] = 'x' pa = solve(a, b + 1) S[a][b] = 'x' S[b][a] = 'o' pb = solve(a, b + 1) S[a][b] = '-' return min(pa, pb) print(solve(0, 1))