#include <bits/stdc++.h>
using namespace std;
const int N=2e5+6;
const int inf=1e9+7;
int n,k;
string s;
int pre[N];
int tong=inf;
vector<int>v,v1,v2;
int main()
{
cin >> n >>k;
int k1=k,k2=k;
cin >>s;
s=" "+s;
for(int i=1;i<=n;i++){
if(s[i]=='J'){
v.push_back(i);
}
else if(s[i]=='O'){
v1.push_back(i);
}
else{
v2.push_back(i);
}
}
for(int i=0;i<v.size();i++){
int s1=i+k-1;
if(s1<v.size()){
int t=lower_bound(v1.begin(),v1.end(),v[s1])-v1.begin();
int s2=t+k-1;
if(s2<v1.size()){
int t1=lower_bound(v2.begin(),v2.end(),v1[s2])-v2.begin();
int s3=t1+k-1;
if(s3<v2.size()){
int s4=v2[s3];
int sum1=s4-v[i]+1-3*k;
tong=min(tong,sum1);
}
}
}
}
cout << (tong==inf?-1:tong);
return 0;
}
/*
10 2
OJIJOIOIIJ
*/