#include using namespace std; #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define llong long long int getresult(vector &m) { vector wins(m.size(), 0); rep(i, m.size()) rep(j, m.size()) if(m[i][j] == 'o') wins[i] += 1; int val = wins[0]; sort(wins.begin(), wins.end(), greater()); unique(wins.begin(), wins.end()); int ret = distance(wins.begin(), find(wins.begin(), wins.end(), val)) + 1; return ret; } int main() { int n; cin >> n; vector m(n); rep(i, n) cin >> m[i]; int rests = 0; rep(i, n) rep(j, n) if(m[i][j] == '-') rests += 1; rests /= 2; int result = n; if(rests > 0) { rep(i, 1 << rests) { bitset<20> bits(i); vector base = m; int counter = 0; for(int ii=0; ii