#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; void rotate(vector& s) { int n = s.size(); vector t(n, string(n, ' ')); for(int i=0; i s) { rotate(s); int n = s.size(); int ans = 0; for(int i=0; i> n; vector s(n); for(int i=0; i> s[i]; int ans = 0; for(int r=0; r<2; ++r){ for(int k=0; k<9; ++k){ vector t = s; int x = k; int cnt = 0; for(int i=0; i<2; ++i){ if(t[i*(n-1)].substr(x%3, n-1) == string(n-1, '.')){ t[i*(n-1)].replace(x%3, n-1, n-1, '#'); ++ cnt; } x /= 3; } cnt += solve(t); ans = max(ans, cnt); } rotate(s); } cout << ans << endl; return 0; }