#include #define rep(i, n) for (int i = 0; i < (int)n; ++i) #define REP(i, a, b) for (int i = (int)a; i < (int)b; ++i) #define rer(i, a, b) for (int i = (int)a; i <= (int)b; ++i) #define each(i,c) for(__typeof((c).begin()) i = (c).begin(); i != (c).end(); ++i) #define all(v) v.begin(), v.end() #define mset(a, n) memset(a, n, sizeof(a)) using namespace std; typedef long long ll; typedef unsigned long long ull; typedef vector vi; typedef vector vs; typedef vector > vvi; typedef vector > vpii; typedef pair pii; typedef pair pll; const int inf = 1000000000; const int mod = 1000000007; const double eps = 1e-9; const int dx[] = { -1, 0, 1, 0}; const int dy[] = { 0, -1, 0, 1}; int main() { // cin.tie(0); // tie // ios::sync_with_stdio(false); // sync int d; string s1, s2; cin >> d; cin >> s1 >> s2; s1 += s2; vector vs; rep(i, s1.size()) { int d2 = d; string tmp = s1; if (tmp[i] == 'x') { for (int j = i; d2 > 0; --d2, ++j) { tmp[j] = 'o'; } } vs.push_back(tmp); } // for (auto i : vs) cout << i << endl; int ans = 0; rep(i, vs.size()) { int cnt = 0; rep(j, vs[i].size()) { if (vs[i][j] == 'o') cnt++; else cnt = 0; ans = max(ans, cnt); } } cout << ans << endl; return 0; }