#include "bits/stdc++.h" using namespace std; #define ll long long int #define rep(i,n) for( int i = 0; i < n; i++ ) #define rrep(i,n) for( int i = n; i >= 0; i-- ) #define REP(i,s,t) for( int i = s; i <= t; i++ ) #define RREP(i,s,t) for( int i = s; i >= t; i-- ) #define dump(x) cerr << #x << " = " << (x) << endl; #define INF 2000000000 #define mod 1000000007 #define INF2 1000000000000000000 int N; char s[6][6]; int rk(char a[6][6]) { int score[N] = {}; rep(i, N) rep(j, N) if (s[i][j] == 'o') score[i]++; int tmp = score[0]; sort(score, score + N, greater()); int rank = 1; int j = 0; //rep(i, N) cout << score[i] << " "; //cout << endl; while(true) { int k = score[j]; if (k == tmp) return rank; while (k == score[j]) j++; rank++; } } int ans = 6; void dfs(char a[6][6]) { int R = N; int flag = true; rep(i, N) { rep(j, N) { if (a[i][j] == '-') { flag = false; a[i][j] = 'o'; a[j][i] = 'x'; dfs(a); a[i][j] = 'x'; a[j][i] = 'o'; dfs(a); } } } if (flag) { //cout << rank(a) << endl; ans = min(ans, rk(a)); } } int main(void) { cin.tie(0); ios::sync_with_stdio(false); cin >> N; rep(i, N) rep(j, N) cin >> s[i][j]; dfs(s); cout << ans << endl; return 0; }