#include<bits/stdc++.h>
using namespace std;
#define e '\n'
#define ll long long
#define maxn 1000006
int a[maxn];
int b[maxn];
int ab[maxn];
ll c;
string s;
int n;
bool check(int x){
for(int i = 1;i+x-1<=n;i++){
int k = i + x - 1;
int cnt = ab[k] - b[k] * a[i-1];
if(cnt <= c) return 1;
}
return 0;
}
int main(){
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
cin >> n >> c >> s;
s = ' ' + s;
for(int i = 1;i<=n;i++){
if(s[i] == 'a'){
a[i]++;
}
if(s[i] == 'b') {
b[i]++;
ab[i] += b[i] * a[i-1];
}
a[i] += a[i-1];
b[i] += b[i-1];
ab[i] += ab[i-1];
}
int l = 1;
int r = n;
int res = 0;
while(l <= r){
int mid = (l + r) / 2;
if(check(mid)){
res = mid;
l = mid + 1;
}
else r = mid - 1;
}
cout << res;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBlICdcbicKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBtYXhuIDEwMDAwMDYKaW50IGFbbWF4bl07CmludCBiW21heG5dOwppbnQgYWJbbWF4bl07CmxsIGM7CnN0cmluZyBzOwppbnQgbjsKCmJvb2wgY2hlY2soaW50IHgpewogICAgZm9yKGludCBpID0gMTtpK3gtMTw9bjtpKyspewogICAgICAgIGludCBrID0gaSArIHggLSAxOwogICAgICAgIGludCBjbnQgPSBhYltrXSAtIGJba10gKiBhW2ktMV07CiAgICAgICAgaWYoY250IDw9IGMpIHJldHVybiAxOwogICAgfQogICAgcmV0dXJuIDA7Cn0KCmludCBtYWluKCl7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApO2Npbi50aWUoMCk7Y291dC50aWUoMCk7CiAgICBjaW4gPj4gbiA+PiBjID4+IHM7CiAgICBzID0gJyAnICsgczsKICAgIGZvcihpbnQgaSA9IDE7aTw9bjtpKyspewogICAgICAgIGlmKHNbaV0gPT0gJ2EnKXsKICAgICAgICAgICAgYVtpXSsrOwogICAgICAgIH0KICAgICAgICBpZihzW2ldID09ICdiJykgewogICAgICAgICAgICBiW2ldKys7CiAgICAgICAgICAgIGFiW2ldICs9IGJbaV0gKiBhW2ktMV07CiAgICAgICAgfQogICAgICAgIGFbaV0gKz0gYVtpLTFdOwogICAgICAgIGJbaV0gKz0gYltpLTFdOwogICAgICAgIGFiW2ldICs9IGFiW2ktMV07CiAgICB9CiAgICBpbnQgbCA9IDE7CiAgICBpbnQgciA9IG47CiAgICBpbnQgcmVzID0gMDsKICAgIHdoaWxlKGwgPD0gcil7CiAgICAgICAgaW50IG1pZCA9IChsICsgcikgLyAyOwogICAgICAgIGlmKGNoZWNrKG1pZCkpewogICAgICAgICAgICByZXMgPSBtaWQ7CiAgICAgICAgICAgIGwgPSBtaWQgKyAxOwogICAgICAgIH0KICAgICAgICBlbHNlIHIgPSBtaWQgLSAxOwogICAgfQogICAgY291dCA8PCByZXM7Cn0K