#include <bits/stdc++.h>
using namespace std;
int main() {
int N, K;
cin >> N >> K;
string s;
cin >> s;
int arr[N];
for (int i = 0; i < N; i++) {
if (s[i] == 'J') arr[i] = 0;
else if (s[i] == 'O') arr[i] = 1;
else arr[i] = 2;
}
map<int, int> m[3];
vector<int> v[3];
for (int i = 0; i < N; i++) v[arr[i]].push_back(i);
for (int j = 0; j < 3; j++) {
int sz = v[j].size();
for (int i = 0; i < sz; i++) {
if (i+K-1 < sz) m[j][v[j][i]] = v[j][i+K-1];
else m[j][v[j][i]] = -1;
}
}
int ans = 1234567890;
for (int k: v[0]) {
int temp = m[0][k];
if (temp <= 0) continue;
map<int, int>::iterator it = m[1].upper_bound(temp);
if (it == m[1].end()) continue;
temp = (*it).second;
if (temp <= 0) continue;
it = m[2].upper_bound(temp);
if (it == m[2].end()) continue;
temp = (*it).second;
if (temp > 0) ans = min(ans, temp-k);
}
if (ans == 1234567890) cout << -1;
else cout << ans-3*K+1;
return 0;
}