import itertools n = int(input()) pt = [0] * n yet = [] for i in range(n-1): s = input() for j in range(i+1, n): if s[j] == 'o': pt[i] += 1 elif s[j] == 'x': pt[j] += 1 else: if i == 0: pt[0] += 1 else: yet.append([i, j]) if pt[0] == n - 1: print(1) exit() size = len(yet) rank = n combinations = itertools.product([True, False], repeat=size) for combo in combinations: pt2 = [0] * n for i in range(n): pt2[i] += pt[i] for i in range(len(combo)): if combo[i]: pt2[yet[i][0]] += 1 else: pt2[yet[i][1]] += 1 set1 = set(pt2) r = 1 for x in range(n-1, pt2[0], -1): if x in set1: r += 1 if rank > r: rank = r print(rank)