#include <bits/stdc++.h>
using namespace std;
const int N = 2e5;
int n, Vcnt, Edis[N + 3];
long long m;
char Istr[N + 3], Edir[N + 3];
bool Bb[N + 3];
int main() {
  scanf("%d%lld%s", &n, &m, Istr);
  for (int i = 0; i < n; i++)
    if (Istr[((i - 1 + n) % n)] != Istr[i] && Istr[((i + 1) % n)] != Istr[i]) {
      Bb[i] = true;
      Vcnt++;
    }
  if (Vcnt == n) {
    for (int i = 0; i < n; i++)
      printf("%c", m % 2 ? (Istr[i] == 'W' ? 'B' : 'W') : Istr[i]);
    return 0;
  }
  memset(Edis, 0x3f, sizeof Edis);
  for (int i = 0; i < 2 * n; i++) {
    int Ii = i % n;
    if (!Bb[Ii]) {
      Edis[Ii] = 0;
      Edir[Ii] = Istr[Ii];
    } else if (Edis[Ii] > Edis[((Ii - 1 + n) % n)] + 1) {
      Edis[Ii] = Edis[((Ii - 1 + n) % n)] + 1;
      Edir[Ii] = Edir[((Ii - 1 + n) % n)];
    }
  }
  for (int i = 2 * n - 1; i >= 0; i--) {
    int Ii = i % n;
    if (!Bb[Ii]) {
      Edis[Ii] = 0;
      Edir[Ii] = Istr[Ii];
    } else if (Edis[Ii] > Edis[((Ii + 1) % n)] + 1) {
      Edis[Ii] = Edis[((Ii + 1) % n)] + 1;
      Edir[Ii] = Edir[((Ii + 1) % n)];
    }
  }
  for (int i = 0; i < n; i++)
    if (Bb[i]) {
      if (Edis[i] <= m)
        printf("%c", Edir[i]);
      else
        printf("%c", m % 2 ? (Istr[i] == 'W' ? 'B' : 'W') : Istr[i]);
    } else
      printf("%c", Istr[i]);
  return 0;
}
