#include<bits/stdc++.h>
#include<unordered_set>
#include<unordered_map>
using namespace std;

#define MAX 200002

int n;
int k;

deque<int> d;

char buf[MAX];

string ans;


int main(){
	cin >> n >> k;
	scanf("%s", buf);
	for (int i = 0; i < n; i++){
		if (buf[i] - 'A' == 0){
			d.push_back((i & 1) ^ 1);
		}
		else{
			d.push_back((i & 1));
		}
	}
	if (n == 1){
		k %= 2;
		d.front() ^= k;
	}
	else{
		int C = 0;
		while (k&&C <= 10 * n){
			k--;
			C++;
			if (d.front() == 1){
				d.front() = 0;
				continue;
			}
			d.pop_front();
			d.push_back(((n - 1) & 1) ^ 1);
		}
		if (k == 0){

		}
		else{
			if (d.front() == 0){  //B
				
			}
			else{
				k %= 2;
				if (k){
					d.front() = 0;
				}
			}
		}
	}
	for (int i = 0; i < d.size(); i++){
		int go = ((i % 2) == d[i]);
		ans.push_back('A' + go);
	}
	printf("%s\n", ans.c_str());
	return 0;
}