#include<bits/stdc++.h>
using namespace std;
char s[200007];
int ans[200007];
int main(){
int n,k;
int i=0,j=0,l=0;
scanf("%d%d",&n,&k);
scanf("%s",s+1);
for(i=1;i<=n;i++)
if(s[i]=='A')
ans[i]=1;
int tmp=0;
for(i=1,j=1;i<=k&&j<=n;i++){
if(ans[j]^tmp){//如果这一位经历异或之后变为了1需要再变一次把它变成0,因为这一位终将变成相当于这一步的开头第一位
ans[j]^=1;//将它变成0
continue;
}
tmp^=1;//变化异或标记
j++;//进入下一位
}
if(i>=k+1){//k太小以至于前面还有剩余没有变为最终形态
for(l=j;l<=n;l++)
if(ans[l]^tmp)//后面的位数根据奇偶性进行变化
printf("A");
else
printf("B");
for(l=n+1;l<=n+j-1;l++)//最后面是找出的规律
if((n+j-l)&1)
printf("A");
else
printf("B");
}
else{
if(n&1){//奇数则判断开头剩余是规律
if((k-i+2)&1)
printf("A");
else
printf("B");
for(l=2;l<=n;l++)
if(l&1)
printf("A");
else
printf("B");
}
else
for(l=1;l<=n;l++)
if((l+1)&1)
printf("A");
else
printf("B");
}
return 0;
}