#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 #include #include #include #include //#include using namespace std; using Int = long long; //using namespace boost::multiprecision; const double EPS = 1e-10; long long const MOD = 998244353; long long mod_pow(long long x, long long n) { long long res = 1; for (int i = 0;i < 60; i++) { if (n >> i & 1) res = res * x % MOD; x = x * x % MOD; } return res; } template T gcd(T a, T b) { return b != 0 ? gcd(b, a % b) : a; } template T lcm(T a, T b) { return a * b / gcd(a, b); } void fastInput() { cin.tie(0); ios::sync_with_stdio(false); } int main(void) { int D; cin >> D; string s0 = "xxxxxxxxxxxxxxxxxxxx"; string s3 = "xxxxxxxxxxxxxxxxxxxx"; string s1, s2; cin >> s1 >> s2; string S = s0+s1+s2+s3; int ans = 0; for (int N = 0; N <= D; N++) { for (int i = 0; i < S.length(); i++) { string tmp; int cnt = 0; for (int j = 0; j < S.length(); j++) { if (i <= j && j < i+N) { if (S[j] == 'o') goto END; else tmp += 'o'; } else { tmp += S[j]; } } for (int j = 0; j < tmp.length(); j++) { if (tmp[j] == 'o') { cnt++; } else { ans = max(ans, cnt); cnt = 0; } } END: continue; } } cout << ans << endl; }