#include #include #include #include bool judge(const std::string& s, int kr, int kb) { int n = s.length(); for (int i = 0; i < n; ++i) { switch (s[i]) { case 'R': if (i + kr < n && s[i + kr] == 'R') return false; break; case 'B': if (i + kb < n && s[i + kb] == 'B') return false; break; } } return true; } void solve() { int kr, kb; std::string s; std::cin >> kr >> kb >> s; int ans = 0; for (int b = 0; b < (1 << 20); ++b) { std::string t; int itr = 0; for (char c : s) { if (c == 'R' || c == 'B') { if ((b >> itr++) & 1) continue; } t.push_back(c); } if (!judge(t, kr, kb)) continue; ans = std::max(ans, (int)t.length()); } std::cout << ans << "\n"; } int main() { std::cin.tie(nullptr); std::ios::sync_with_stdio(false); solve(); return 0; }