#include <iostream>
using namespace std;
int n,k;
char a[100010];
bool check(int mid){
int cnt=0,res=0;
char op='N';
for(int i=1;i<=n;i++){
if(a[i]!=op){
if(op=='N')op='F';
if(op=='F')op='N';
cnt=1;
}
else if(op==a[i]){
cnt++;
}
if(cnt==mid+1){
res++;
cnt=1;
if(op=='N')op='F';
if(op=='F')op='N';
}
}
if(res>k)return false;
else return true;
}
int main(){
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>a[i];
}
int l=1,r=n,ans;
while(l<=r){
int mid=l+r>>1;
if(check(mid)){
r=mid-1,ans=mid;
}
else {
l=mid+1;
}
}
cout << ans;
return 0;
}