#include <cstdio>
#include <cstring>
#include <deque>
#define MAXN 1000010
using namespace std;

int n,k;
int a0[MAXN],ans[MAXN];

namespace Queue{
	deque<int> Q;
	int delta;

	void rev(){ delta^=1; }
	int front(){ return Q.front()^delta; }

	void setFront(int x){
		Q.pop_front();
		Q.push_front(x^delta);
	}
}

void input(){
	scanf("%d%d",&n,&k);
	static char str[MAXN];
	scanf("%s",str+1);
	for(int i=1;i<=n;i++)
		if(str[i]=='B') a0[i]=1;
}

void gao(){
	for(int i=1;i<=n;i++) Queue::Q.push_back(a0[i]);
	while(k && !Queue::Q.empty()){
		k--;
		if(!Queue::front()) Queue::setFront(1);
		else{
			Queue::Q.pop_front();
			Queue::rev();
		}
	}
	if(!k){
		int x=0;
		while(!Queue::Q.empty()){
			ans[++x]=Queue::front();
			Queue::Q.pop_front();
		}
		for(int i=x+1;i<=n;i++)
			ans[i]=(n-i)&1;
	}else{
		for(int i=1;i<=n;i++) ans[i]=(n-i)&1;
		if((n&1)&&(k&1)) ans[1]=1;
	}
}

int main(){
	input();
	gao();
	for(int i=1;i<=n;i++) putchar('A'+ans[i]);
}