#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1005, M = 1001;
char s[MAXN];
int n, k, f[MAXN][MAXN * 2], g[MAXN][MAXN * 2];
void dp(int i, int t) {
  for (int j = M - k + 1; j < M + k; ++j)
    if (!f[i][j] && f[i + 1][j + t]) {
      f[i][j] = 1;
      g[i][j] = t;
    }
}
int main() {
  scanf("%d%d%s", &n, &k, s);
  f[n][M + k] = f[n][M - k] = 1;
  for (int i = n - 1; i >= 0; --i) {
    if (s[i] == 'W')
      dp(i, 1);
    else if (s[i] == 'D')
      dp(i, 0);
    else if (s[i] == 'L')
      dp(i, -1);
    else
      dp(i, -1), dp(i, 0), dp(i, 1);
  }
  if (f[0][M]) {
    for (int i = 0, j = M; i < n; ++i) {
      s[i] = (g[i][j] + 1)["LDW"];
      j += g[i][j];
    }
    puts(s);
  } else
    puts("NO");
  return 0;
}
