#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7, N = 2e3 + 5, K = 1002;
int dp[N][N], last[N][N];
map<int, int> charmap;
int main() {
  charmap['L'] = -1;
  charmap['D'] = 0;
  charmap['W'] = 1;
  charmap[-1] = 'L';
  charmap[0] = 'D';
  charmap[1] = 'W';
  int n, k;
  cin >> n >> k;
  string s;
  cin >> s;
  dp[0][K] = true;
  for (int i = 0; i < n; ++i)
    for (int j = 0; j < N; ++j)
      if (abs(K - j) != k && dp[i][j]) {
        for (int ch = -1; ch <= 1; ++ch) {
          if (s[i] == '?' || charmap[s[i]] == ch) {
            dp[i + 1][j + ch] = true;
            last[i + 1][j + ch] = ch;
          }
        }
      }
  int fin = K + k;
  if (!dp[n][fin]) fin = K - k;
  if (!dp[n][fin]) {
    puts("NO");
    return 0;
  }
  string ans;
  for (int i = n; i >= 1; --i) {
    ans += charmap[last[i][fin]];
    fin -= last[i][fin];
  }
  reverse(ans.begin(), ans.end());
  cout << ans << '\n';
}
