#include <bits/stdc++.h>
using namespace std;
const int nx = 2e5 + 5;
int n, k;
string s;
vector<int> J, O, I;
int main() {
ios_base::sync_with_stdio(0), cin.tie(0);
cin >> n >> k >> s;
for (int i = 0; i < n; i++) {
if (s[i] == 'J') J.push_back(i);
else if (s[i] == 'O') O.push_back(i);
else I.push_back(i);
}
int ans = 1e9;
for (int x = 0; x + k - 1 < J.size(); x++) {
int idx = upper_bound(O.begin(), O.end(), J[x + k - 1]) - O.begin();
if (idx == O.size() || idx + k - 1 >= O.size()) continue;
int it = upper_bound(I.begin(), I.end(), O[idx + k - 1]) - I.begin();
if (it == I.size() || it + k - 1 >= I.size()) continue;
ans = min(ans, I[it + k - 1] - J[x] + 1 - 3 * k);
}
cout << ans;
}