#include <iostream>
#include <cstdio>

using namespace std;

int n, m;
char c[300005];
int rez=0;

void resi1()
{
    if(n<0) return;
    if(c[0]=='a') rez++;
        else if(c[0]=='b' && c[1]=='b') rez--;
        //printf("%i ", rez);
        for(int i=1; i<n-1; i++)
        {
            if(c[i]=='a') rez++;
            else if(c[i]=='b' && c[i-1]=='b' && c[i+1]=='b') rez--;
            //printf("%i ", rez);
        }
        if(c[n-1]=='a') rez++;
        else if(c[n-1]=='b' && c[n-2]=='b') rez--;
    rez--;
        //cout << endl;
}

int main()
{
    int i;
    freopen("muzej.in", "r", stdin);
    freopen("muzej.out", "w", stdout);
    scanf("%i %i", &n, &m);
    for(i=0; i<n; i++)
        scanf(" %c", &c[i]);
    if(n==1)
    {
        printf("1\n");
        return 0;
    }
    if(n==m) resi1();
    else
    {
        int bra, brb;
        bra=0;
        brb=0;
        for(i=m; i<n; i++)
        {
            if(c[i]=='a') bra++;
            else if(c[i]=='b') brb++;
        }
        int tmp=bra-brb;
        if(tmp==0)
        {
            n=m;
            resi1();
            return 0;
        }
        else if(tmp>0)
        {
            for(i=0; i<tmp; i++)
                c[m+i]='a';
            n=m+tmp;
            tmp=0;
            for(i=n-1; i>=0; i--)
            {
                if(c[i]=='a') tmp++;
                else if(c[i]=='b') tmp--;
                if(tmp==0) break;
            }
            rez++;
            n=i;
            resi1();
        }
        else if(tmp<0)
        {
            for(i=0; i<tmp; i++)
                c[m+i]='b';
            n=m+tmp;
            tmp=0;
            for(i=n-1; i>=0; i--)
            {
                if(c[i]=='a') tmp++;
                else if(c[i]=='b') tmp--;
                if(tmp==0) break;
            }
            //rez++;
            n=i;
            resi1();
        }
    }
    printf("%i\n", rez);
    return 0;
}
/*
10 10
aabaabbbaa
*/
