#include <bits/stdc++.h>
using namespace std;
int n, k, ans, noww, a[220], s[220], f[220][220][33];
void maximize(int &a, int b) {
if (a < b) a = b;
}
int dp(int i, int j, int u) {
if (u >= k) return 0;
if (i > j) return 1;
int rs = f[i][j][u];
if (rs != -1) return rs;
maximize(rs, 1 - dp(i + 1, j, noww - (u + a[i]) - (s[j] - s[i])));
maximize(rs, 1 - dp(i, j - 1, noww - (u + a[j]) - (s[j - 1] - s[i - 1])));
return f[i][j][u] = rs;
}
int32_t main() {
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
cin >> n >> k;
for(int i = 1; i <= n; i++) {
char c;
cin >> c;
a[i] = a[i + n] = (c == 'B');
}
for(int i = 1; i <= 2 * n; i++) s[i] = s[i - 1] + a[i];
memset(f, -1, sizeof f);
for(int i = 1; i <= n; i++) {
noww = s[i + n - 1] - s[i - 1];
ans += dp(i, i + n - 1, 0);
}
cout << ans;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbiwgaywgYW5zLCBub3d3LCBhWzIyMF0sIHNbMjIwXSwgZlsyMjBdWzIyMF1bMzNdOwoKdm9pZCBtYXhpbWl6ZShpbnQgJmEsIGludCBiKSB7CglpZiAoYSA8IGIpIGEgPSBiOwp9CgppbnQgZHAoaW50IGksIGludCBqLCBpbnQgdSkgewoJaWYgKHUgPj0gaykgcmV0dXJuIDA7CglpZiAoaSA+IGopIHJldHVybiAxOwoJaW50IHJzID0gZltpXVtqXVt1XTsKCWlmIChycyAhPSAtMSkgcmV0dXJuIHJzOwoJbWF4aW1pemUocnMsIDEgLSBkcChpICsgMSwgaiwgbm93dyAtICh1ICsgYVtpXSkgLSAgKHNbal0gLSBzW2ldKSkpOwoJbWF4aW1pemUocnMsIDEgLSBkcChpLCBqIC0gMSwgbm93dyAtICh1ICsgYVtqXSkgLSAoc1tqIC0gMV0gLSBzW2kgLSAxXSkpKTsKCXJldHVybiBmW2ldW2pdW3VdID0gcnM7Cn0KCmludDMyX3QgbWFpbigpIHsKCWlvczo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKCQoJY2luID4+IG4gPj4gazsKCWZvcihpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CgkJY2hhciBjOwoJCWNpbiA+PiBjOwoJCWFbaV0gPSBhW2kgKyBuXSA9IChjID09ICdCJyk7Cgl9CgkKCWZvcihpbnQgaSA9IDE7IGkgPD0gMiAqIG47IGkrKykgc1tpXSA9IHNbaSAtIDFdICsgYVtpXTsKCQoJbWVtc2V0KGYsIC0xLCBzaXplb2YgZik7Cglmb3IoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewoJCW5vd3cgPSBzW2kgKyBuIC0gMV0gLSBzW2kgLSAxXTsKCQlhbnMgKz0gZHAoaSwgaSArIG4gLSAxLCAwKTsKCX0KCQoJY291dCA8PCBhbnM7Cn0=