#include <bits/stdc++.h>

template <size_t N>
int print(std::bitset<N>& b, int n) {
    for (int i = 0; i < n; i++) std::cout << (b[i] ? 'B' : 'A');
    std::cout << std::endl;

    return 0;
}

int main() {
    int n, k;
    std::string s;
    std::cin >> n >> k >> s;
    std::bitset<210000> b;
    // A -> 0, B -> 1
    for (auto i = 0; i < s.size(); i++) {
        b[i] = s[i] == 'B';
    }
    int cnt = 0;
    for (int i = 0; i < n; i++) {
        if (i + cnt == k) return print(b, n);
        if (!b[0]) {
            cnt++;
            if (i + cnt == k) {
                b[0] = true;
                return print(b, n);
            }
        }
        b >>= 1;
        b = ~b;
        b[n - 1] = false;
    }

    if (n % 2) {
        std::cout << ((k - n - cnt) % 2 ? 'B' : 'A');
        for (int i = 1; i < n; i++) std::cout << (i % 2 ? 'B' : 'A');
    } else {
        for (int i = 0; i < n; i++) std::cout << (i % 2 ? 'A' : 'B');
    }

    std::cout << std::endl;

    return 0;
}