#include <iostream>
#include <string>
using namespace std;
int vj[200005], vo[200005], vi[200005];
int main()
{
int n, k, cj = 1, co = 1, ci = 1, ans, pj = 1, po = 1, pi = 1;
string s;
cin >> n >> k >> s;
for (int i = 0; i < s.size(); i++)
{
if (s[i] == 'J')
{
vj[cj++] = i;
}
if (s[i] == 'O')
{
vo[co++] = i;
}
if (s[i] == 'I')
{
vi[ci++] = i;
}
}
ans = n - 1;
while (pj + k - 1 <= cj && po + k - 1 <= co && pi + k - 1 <= ci)
{
while (po + k - 1 <= co && vo[po] <= vj[pj + k - 1])
{
po++;
}
if (po + k - 1 <= co)
{
while (pi + k - 1 <= ci && vi[pi] <= vo[po + k - 1])
{
pi++;
}
}
if (pj + k - 1 <= cj && po + k - 1 <= co && pi + k - 1 <= ci)
{
ans = min(ans, (vi[pi + k - 1] - vj[pj] + 1) - 3 * k);
}
pj++;
}
if (ans == n + 1)
{
cout << -1;
}
else
{
cout << ans;
}
return 0;
}