#include <bits/stdc++.h>
using namespace std;
int n, k, dp[1001][2002];
string s;
int f(int idx, int diff) {
  if (idx == s.size()) return abs(diff) == k;
  if (abs(diff) == k) return 0;
  if (~dp[idx][diff + 1000]) return dp[idx][diff + 1000];
  int res = 0;
  if (s[idx] == '?') {
    if (f(idx + 1, diff + 1)) {
      s[idx] = 'W';
      return 1;
    } else if (f(idx + 1, diff - 1)) {
      s[idx] = 'L';
      return 1;
    } else if (f(idx + 1, diff + 0)) {
      s[idx] = 'D';
      return 1;
    }
  } else if (s[idx] == 'W' && f(idx + 1, diff + 1)) {
    return 1;
  } else if (s[idx] == 'L' && f(idx + 1, diff - 1)) {
    return 1;
  } else if (s[idx] == 'D' && f(idx + 1, diff + 0)) {
    return 1;
  }
  return dp[idx][diff + 1000] = 0;
}
int main() {
  cin >> n >> k >> s;
  memset(dp, -1, sizeof dp);
  if (!f(0, 0)) {
    cout << "NO" << endl;
  } else
    cout << s << endl;
}
