#include <bits/stdc++.h>
using namespace std;
void sol() {
int n, k; cin >> n >> k;
string s; cin >> s;
s = "X" + s + "X"; // ---> Nãy anh quên nói, chỗ này em phải thêm
// 2 cái "X" ở đầu với cuối để làm biên tránh check thiếu
vector <int> a;
for (int i = 0; i < s.size(); i++) {
if (s[i] == 'X') a.push_back(i);
}
// int ans1 = (a[1 + k] - 1) - ((a[1 - 1] + 1) + 1); --> Không cần, check trong for luôn
int res = 0;
// i phải = 1 để check từ đầu (Còn 0 là cái căn nhà mình làm biên ở dòng 7)
// i < a.size() - k - 1 (trừ cho k - 1 để tránh check tràn mảng)
for (int i = 1; i <= a.size() - k - 1; i++) {
res = max(res, (a[i + k] - 1) - (a[i - 1] + 1) + 1);
}
cout << res << endl;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
//freopen("LAND.inp", "r", stdin);
//freopen("LAND.out", "w", stdout);
sol();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIHNvbCgpIHsKICAgIGludCBuLCBrOyBjaW4gPj4gbiA+PiBrOwogICAgc3RyaW5nIHM7IGNpbiA+PiBzOwogICAgcyA9ICJYIiArIHMgKyAiWCI7IC8vIC0tLT4gTsOjeSBhbmggcXXDqm4gbsOzaSwgY2jhu5cgbsOgeSBlbSBwaOG6o2kgdGjDqm0KICAgICAgICAgICAgICAgICAgICAgICAvLyAyIGPDoWkgIlgiIOG7nyDEkeG6p3UgduG7m2kgY3Xhu5FpIMSR4buDIGzDoG0gYmnDqm4gdHLDoW5oIGNoZWNrIHRoaeG6v3UKICAgIHZlY3RvciA8aW50PiBhOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgcy5zaXplKCk7IGkrKykgewogICAgICAgIGlmIChzW2ldID09ICdYJykgYS5wdXNoX2JhY2soaSk7CiAgICB9CgogICAgLy8gaW50IGFuczEgPSAoYVsxICsga10gLSAxKSAtICgoYVsxIC0gMV0gKyAxKSArIDEpOyAtLT4gS2jDtG5nIGPhuqduLCBjaGVjayB0cm9uZyBmb3IgbHXDtG4KICAgIGludCByZXMgPSAwOwogICAgLy8gaSBwaOG6o2kgPSAxIMSR4buDIGNoZWNrIHThu6sgxJHhuqd1IChDw7JuIDAgbMOgIGPDoWkgY8SDbiBuaMOgIG3DrG5oIGzDoG0gYmnDqm4g4bufIGTDsm5nIDcpCiAgICAvLyBpIDwgYS5zaXplKCkgLSBrIC0gMSAodHLhu6sgY2hvIGsgLSAxIMSR4buDIHRyw6FuaCBjaGVjayB0csOgbiBt4bqjbmcpCiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBhLnNpemUoKSAtIGsgLSAxOyBpKyspIHsKICAgICAgICByZXMgPSBtYXgocmVzLCAoYVtpICsga10gLSAxKSAtIChhW2kgLSAxXSArIDEpICsgMSk7CiAgICB9CiAgICBjb3V0IDw8IHJlcyA8PCBlbmRsOwp9CgppbnQgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShOVUxMKTsKICAgIGNvdXQudGllKE5VTEwpOwoKICAgIC8vZnJlb3BlbigiTEFORC5pbnAiLCAiciIsIHN0ZGluKTsKICAgIC8vZnJlb3BlbigiTEFORC5vdXQiLCAidyIsIHN0ZG91dCk7CgogICAgc29sKCk7CiAgICByZXR1cm4gMDsKfQo=