#include #include using namespace std; string conv(string str){ while(str[0] == 'x') str = str.substr(1, str.size() - 1); while(str[str.size() - 1] == 'x') str = str.substr(0, str.size() - 1); return str; } int solve(string str, int d){ str = conv(str); if(str.size() == 0) return d; vector vec; int tmp = 1; for(int i = 1; i < str.size(); i++){ if(str[i] == str[i - 1]) tmp++; else { vec.push_back(tmp); tmp = 1; } } vec.push_back(tmp); if(vec.size() == 1) return vec[0] + d; int result; result = vec[0] + d; result = max(result, vec[vec.size() - 1] + d); for(int i = 1; i < vec.size(); i += 2){ if(vec[i] <= d) result = max(result, vec[i - 1] + vec[i] + vec[i + 1]); else { result = max(result, vec[i - 1] + d); result = max(result, vec[i + 1] + d); } } return result; } int main(){ int d; cin >> d; string a, b; cin >> a >> b; string str = a + b; cout << solve(str, d) << endl; }