#include<iostream>
using namespace std;
//Check on swapping a's or extracting the max length string
int a_check(string s,int n,int k){
int i=0;
int sum=0;
int t=0;
int maxsum=0;
while(i<=n-1){
if(s[i]=='a'){
sum++;
}
else{
if(t!=k){
t++;
sum++;
}
else{
t=0;
sum=0;
}
}
if(sum>maxsum){
maxsum=sum;
}
i++;
}
return maxsum;
}
//Check on swapping b's or extracting the max length string
int b_check(string s,int n,int k){
int i=0;
int sum=0;
int t=0;
int maxsum=0;
while(i<=n-1){
if(s[i]=='b'){
sum++;
}
else{
if(t!=k){
t++;
sum++;
}
else{
t=0;
sum=0;
}
}
if(sum>maxsum){
maxsum=sum;
}
i++;
}
return maxsum;
}
int main() {
int k;
cin>>k;
string s;
cin>>s;
int n=s.size();
int itr_a=a_check(s,n,k);
int itr_b=b_check(s,n,k);
cout<<max(itr_a,itr_b);
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgovL0NoZWNrIG9uIHN3YXBwaW5nIGEncyBvciBleHRyYWN0aW5nIHRoZSBtYXggbGVuZ3RoIHN0cmluZyAKaW50IGFfY2hlY2soc3RyaW5nIHMsaW50IG4saW50IGspewoJaW50IGk9MDsKCWludCBzdW09MDsKCWludCB0PTA7CglpbnQgbWF4c3VtPTA7Cgl3aGlsZShpPD1uLTEpewoJCWlmKHNbaV09PSdhJyl7CgkJCXN1bSsrOwoJCX0KCQllbHNlewoJCQlpZih0IT1rKXsKCQkJCXQrKzsKCQkJCXN1bSsrOwkKCQkJfQoJCQllbHNlewoJCQkJdD0wOwoJCQkJc3VtPTA7CgkJCX0KCQl9CgkJaWYoc3VtPm1heHN1bSl7CgkJCW1heHN1bT1zdW07CgkJfQoJCWkrKzsKCX0KCXJldHVybiBtYXhzdW07Cn0KCi8vQ2hlY2sgb24gc3dhcHBpbmcgYidzIG9yIGV4dHJhY3RpbmcgdGhlIG1heCBsZW5ndGggc3RyaW5nIAppbnQgYl9jaGVjayhzdHJpbmcgcyxpbnQgbixpbnQgayl7CglpbnQgaT0wOwoJaW50IHN1bT0wOwoJaW50IHQ9MDsKCWludCBtYXhzdW09MDsKCXdoaWxlKGk8PW4tMSl7CgkJaWYoc1tpXT09J2InKXsKCQkJc3VtKys7CgkJfQoJCWVsc2V7CgkJCWlmKHQhPWspewoJCQkJdCsrOwoJCQkJc3VtKys7CQoJCQl9CgkJCWVsc2V7CgkJCQl0PTA7CgkJCQlzdW09MDsKCQkJfQoJCX0KCQlpZihzdW0+bWF4c3VtKXsKCQkJbWF4c3VtPXN1bTsKCQl9CgkJaSsrOwoJfQoJcmV0dXJuIG1heHN1bTsKfQoKCmludCBtYWluKCkgewoJaW50IGs7CgljaW4+Pms7CglzdHJpbmcgczsKCWNpbj4+czsKCWludCBuPXMuc2l6ZSgpOwoJCglpbnQgaXRyX2E9YV9jaGVjayhzLG4sayk7CglpbnQgaXRyX2I9Yl9jaGVjayhzLG4sayk7CgkKCWNvdXQ8PG1heChpdHJfYSxpdHJfYik7CglyZXR1cm4gMDsKfQ==