#include <iostream>
#include <vector>
#include <algorithm>
#include <cstring>
#include <string>
using namespace std;
bool judge(char s[], int k, int m) {
int len = strlen(s), cnt = 0;
for (int i = 0; i < len; i++) {
if (!cnt && s[i] == 'W') {
if (m) {
m--;
cnt = k - 1;
} else {
return false;
}
} else cnt = max(cnt - 1, 0);
}
return true;
}
int main() {
int n, m;
cin >> n >> m;
char* s = new char[n + 1];
scanf("%s", s);
int len = strlen(s);
bool all_red = true;
for (int i = 0; i < len; i++) {
if (s[i] == 'W') {
all_red = false;
break;
}
}
//需要注意的是不能写出if (all_red) {
// cout << 0 << endl;
// return 1;
// }会报程序退出异常的错误
if (all_red) {
cout << 0 << endl;
} else {
int l = 1, r = n / m + (n % m ? 1 : 0);
while (r > l) {
int mid = (r - l) / 2 + l;
if (judge(s, mid, m)) r = mid;
else l = mid + 1;
}
cout << l << endl;
}
}