#include #include #include using namespace atcoder; using mint = modint; using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf 1000000 int main(){ int N; cin>>N; vector S(N); rep(i,N){ cin>>S[i]; } vector> p; rep(i,N){ for(int j=i+1;j win(N,0); rep(j,p.size()){ char c = S[p[j].first][p[j].second]; if(c=='o'&&((i>>j)&1)==0)f = false; if(c=='x'&&((i>>j)&1)==1)f = false; if((i>>j)&1){ win[p[j].first]++; } else{ win[p[j].second]++; } } if(!f)continue; auto ww = win; sort(ww.begin(),ww.end()); ww.erase(unique(ww.begin(),ww.end()),ww.end()); ans = min(ans,(int)distance(lower_bound(ww.begin(),ww.end(),win[0]),ww.end())); } cout<