#include #include #include #include #include #include #include #include #include #include #include #include #include #define all(x) (x).begin(),(x).end() #define rall(x) (x).rbegin(),(x).rend() using namespace std; typedef long long ll; typedef pair pi; typedef pair pl; typedef pair pls; char s[100][100]; int o[100]; int main() { int n; cin >> n; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { cin >> s[i][j]; if (s[i][j] == 'o')o[i]++; } } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (s[i][j] == '#')continue; if (i == 0) { if (s[i][j] == '-') { if (o[0] + 1 >= o[j]) { s[i][j] = 'o'; s[j][i] = 'x'; o[i]++; } else { s[j][i] = 'o'; s[i][j] = 'x'; o[j]++; } } } else { if (s[i][j] == '-') { if ((o[0] >= o[i]+1) || (o[i]+1 <= o[j])) { s[i][j] = 'o'; s[j][i] = 'x'; o[i]++; } else { s[j][i] = 'o'; s[i][j] = 'x'; o[j]++; } } } } } int ans = 1,score = o[0],rank=1; sort(o,o+n); reverse(o, o + n); for (int i = 0; i < n-1; i++) { if (o[i] != o[i + 1]) { if (o[i] == score) { ans = rank; break; } rank++; if (o[i + 1] == score) { ans = rank; break; } } } cout << ans << endl; return 0; }