#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<cstring>
#include<map>
#define MaxN 300545
using namespace std;


int dp[MaxN];
int preff[MaxN];
int pred[MaxN];
char UNOS[MaxN];
int MAX[MaxN];
int pozmax[MaxN];

int main()
{
   int n,m;
   freopen("muzej.in","r",stdin);
   freopen("muzej.out","w",stdout);

   int MAXX=-356812;
   scanf("%d %d",&n,&m);
    if (n==1)
   {
       printf("0\n");
       return 0;
   }
   scanf("%s",UNOS);
   dp[0]=0;
   MAX[0]=0;
   int i;
   for (i=0;i<n;i++)
   {
       if (UNOS[i]=='a')
       {
           dp[i+1]=dp[i]+1;

       }
       else dp[i+1]=dp[i]-1;
       pred[i+1]=preff[dp[i+1]];
       preff[dp[i+1]]=i+1;

       if (dp[i+1]>MAXX)
       {
           MAXX=dp[i+1];
           pozmax[MAXX]=i+1;
       }
       MAX[i+1]=MAXX;


   }


   i=n;


   int brojgrupa=0;
   while (i>m)
   {


       if (i>0)
       {
           if ((pred[i]==0) && (UNOS[i-1]=='a')) i--;
          else i=pred[i];
        }



   }
   if (i==m) brojgrupa--;
   while (i>0)
   {
       if (i>0)
       {
           if ( (UNOS[i-1]=='a') && (MAX[i]==dp[i])) i--;
           else i=pred[i];
       brojgrupa++;
       }
   }
   printf("%d\n",brojgrupa);
return 0;
}
