#include <bits/stdc++.h>
using namespace std;
int pool[1005][2005];
int* dp[1005];
int main() {
  int n, k;
  scanf("%d %d", &n, &k);
  char c[1005];
  scanf("%s", c);
  for (int i = 0; i <= n; i++) {
    dp[i] = pool[i] + 1001;
  }
  memset(pool, 0, sizeof(pool));
  dp[0][0] = 1;
  for (int i = 0; i < n; i++) {
    for (int j = -k + 1; j <= k - 1; j++) {
      if (dp[i][j]) {
        if (c[i] == 'W') {
          dp[i + 1][j + 1] = 1;
        } else if (c[i] == 'D') {
          dp[i + 1][j] = 2;
        } else if (c[i] == 'L') {
          dp[i + 1][j - 1] = 3;
        } else {
          dp[i + 1][j + 1] = 1;
          dp[i + 1][j] = 2;
          dp[i + 1][j - 1] = 3;
        }
      }
    }
  }
  int now = 1e9;
  if (dp[n][k]) {
    now = k;
  }
  if (dp[n][-k]) {
    now = -k;
  }
  if (now == 1e9) {
    printf("NO\n");
  } else {
    vector<char> v;
    char c[5] = " WDL";
    for (int j = n; j >= 1; j--) {
      v.push_back(c[dp[j][now]]);
      now = now + dp[j][now] - 2;
    }
    reverse(v.begin(), v.end());
    for (auto it : v) printf("%c", it);
    printf("\n");
  }
}
