#include using namespace std; int main(void) { int N; cin >> N; vector S(N); for(int i = 0; i < N; ++i) cin >> S[i]; vector> v; for(int i = 0; i < N; ++i) for(int j = i + 1; j < N; ++j) if(S[i][j] == '-') v.push_back(make_pair(i, j)); int M = v.size(); int ans = 1e9; for(int bit = 0; bit < (1 << M); ++bit) { vector T = S; for(int i = 0; i < M; ++i) { auto [x, y] = v[i]; T[x][y] = 'o', T[y][x] = 'x'; if(bit >> i & 1) swap(T[x][y], T[y][x]); } vector cnt(N, 0); for(int i = 0; i < N; ++i) for(int j = 0; j < N; ++j) if(T[i][j] == 'o') ++cnt[i]; set s; for(int i = 0; i < N; ++i) if(cnt[i] > cnt[0]) s.insert(cnt[i]); ans = min(ans, (int)s.size() + 1); } cout << ans << "\n"; return 0; }