#include <bits/stdc++.h>
using namespace std;
int n, d;
int f[2000][2005];
string s;
int main() {
  cin >> n >> d;
  cin >> s;
  s = '0' + s;
  int D = d;
  d--;
  f[0][2000] = 1;
  for (int i = 1; i <= n; i++) {
    if (i == n) d = D;
    if (s[i] == 'W') {
      for (int q = 2000 - d; q <= 2000 + d; q++) {
        f[i][q] += f[i - 1][q - 1];
      }
    }
    if (s[i] == 'L') {
      for (int q = 2000 - d; q <= 2000 + d; q++) {
        f[i][q] += f[i - 1][q + 1];
      }
    }
    if (s[i] == 'D') {
      for (int q = 2000 - d; q <= 2000 + d; q++) {
        f[i][q] += f[i - 1][q];
      }
    }
    if (s[i] == '?') {
      for (int q = 2000 - d; q <= 2000 + d; q++) {
        f[i][q] += f[i - 1][q] + f[i - 1][q + 1] + f[i - 1][q - 1];
      }
    }
  }
  for (int q = 2000 - d; q <= 2000 + d; q++) {
  }
  if (f[n][2000 + d] != 0) {
    for (int i = n; i >= 1; i--) {
      if (s[i] == 'D') {
        continue;
      }
      if (s[i] == 'W') {
        d--;
        continue;
      }
      if (s[i] == 'L') {
        d++;
        continue;
      }
      if (f[i - 1][2000 + d - 1] != 0) {
        s[i] = 'W';
        d--;
        continue;
      }
      if (f[i - 1][2000 + d + 1] != 0) {
        s[i] = 'L';
        d++;
        continue;
      }
      if (f[i - 1][2000 + d] != 0) {
        s[i] = 'D';
        continue;
      }
    }
    for (int i = 1; i <= n; i++) cout << s[i];
    return 0;
  } else if (f[n][2000 - d] != 0) {
    for (int i = n; i >= 0; i--) {
      if (s[i] == 'D') {
        continue;
      }
      if (s[i] == 'L') {
        d--;
        continue;
      }
      if (s[i] == 'W') {
        d++;
        continue;
      }
      if (f[i - 1][2000 - (d - 1)] != 0) {
        s[i] = 'L';
        d--;
        continue;
      }
      if (f[i - 1][2000 - (d + 1)] != 0) {
        s[i] = 'W';
        d++;
        continue;
      }
      if (f[i - 1][2000 - d] != 0) {
        s[i] = 'D';
        continue;
      }
    }
    for (int i = 1; i <= n; i++) cout << s[i];
    return 0;
  }
  cout << "NO";
  return 0;
}
