#include <bits/stdc++.h>
using namespace std;
const int M = 1010;
int dp[M][3010];
string s;
int n, k;
int main() {
  scanf("%d%d", &n, &k);
  cin >> s;
  for (int i = 0; i <= n; i++)
    for (int j = M - 1000; j <= M + 1000; j++) dp[i][j] = -2;
  dp[0][M] = 0;
  k--;
  for (int i = 0; i < n; i++) {
    if (i == n - 1) k++;
    for (int j = M - 1000; j <= M + 1000; j++)
      if (dp[i][j] != -2) {
        if (s[i] == 'W' && j < k + M)
          dp[i + 1][j + 1] = 1;
        else if (s[i] == 'D')
          dp[i + 1][j] = 0;
        else if (s[i] == 'L' && j > M - k)
          dp[i + 1][j - 1] = -1;
        else if (s[i] == '?') {
          if (j < k + M) dp[i + 1][j + 1] = 1;
          dp[i + 1][j] = 0;
          if (j > M - k) dp[i + 1][j - 1] = -1;
        }
      }
  }
  int i = n, j;
  if (dp[n][M - k] != -2)
    j = M - k;
  else if (dp[n][M + k] != -2)
    j = M + k;
  else {
    printf("NO");
    return 0;
  }
  while (i > 0) {
    if (dp[i][j] == -1)
      s[i - 1] = 'L', j++;
    else if (dp[i][j] == 0)
      s[i - 1] = 'D';
    else if (dp[i][j] == 1)
      s[i - 1] = 'W', j--;
    i--;
  }
  cout << s;
  return 0;
}
