#include <iostream>
#include <unordered_map>
using namespace std;
int main() {
int n,m;
string str;
cin>>n>>m>>str;
int l=0;
int r=1;
int mxlen = 1;
unordered_map<char, int> mp;
mp[str[0]]=1;
char other;
while(r!=str.length())
{
mp[str[r]]++;
if(mp['a']>mp['b'])
{
other = 'b';
}
else {
other = 'a';
}
while(mp[other]>m)
{
mp[str[l]]--;
l++;
if(mp['a']>mp['b'])
{
other = 'b';
}
else {
other = 'a';
}
}
mxlen = max(mxlen,r-l+1);
r++;
}
cout<<mxlen;
return 0;
}

京公网安备 11010502036488号