#include <bits/stdc++.h>
const int MAXINT = 2147483640;
const long long MAXLL = 9223372036854775800LL;
const long long MAXN = 1100000;
const long long zero = 1500;
using namespace std;
int dp[4000][4000];
char ans[4000];
int main() {
  srand(time(0));
  ios_base ::sync_with_stdio(false);
  cin.tie(0);
  int n, k, i, j, sum;
  char c;
  cin >> n >> k;
  dp[0][zero] = 2;
  for (i = 1; i <= n; i++) {
    cin >> c;
    for (j = 5; j <= 2995; j++) {
      if ((c == '?' || c == 'L') && dp[i - 1][j + 1] && abs(j + 1 - zero) < k)
        dp[i][j] = 1;
      if ((c == '?' || c == 'D') && dp[i - 1][j] && abs(j - zero) < k)
        dp[i][j] = 2;
      if ((c == '?' || c == 'W') && dp[i - 1][j - 1] && abs(j - 1 - zero) < k)
        dp[i][j] = 3;
    }
  }
  if (dp[n][zero + k]) {
    sum = k + zero;
    for (i = n; i > 0; i--) {
      if (dp[i][sum] == 1) ans[i] = 'L';
      if (dp[i][sum] == 2) ans[i] = 'D';
      if (dp[i][sum] == 3) ans[i] = 'W';
      if (dp[i][sum] == 1)
        ++sum;
      else if (dp[i][sum] == 3)
        --sum;
    }
  } else if (dp[n][zero - k]) {
    sum = zero - k;
    for (i = n; i > 0; i--) {
      if (dp[i][sum] == 1) ans[i] = 'L';
      if (dp[i][sum] == 2) ans[i] = 'D';
      if (dp[i][sum] == 3) ans[i] = 'W';
      if (dp[i][sum] == 1)
        ++sum;
      else if (dp[i][sum] == 3)
        --sum;
    }
  }
  if (dp[n][zero + k] || dp[n][zero - k])
    for (i = 1; i <= n; i++) cout << ans[i];
  else
    cout << "NO"
         << "\n";
  return 0;
}
