#include <bits/stdc++.h>
using namespace std;
const int N = 105;
char s[N];
bool dp[N][N][2];
bool solveDp(int ind, int cons, int g, int n, int k) {
  if (cons > k) {
    return false;
  }
  if (ind == n) {
    if (g) {
      return true;
    } else {
      return false;
    }
  }
  if (dp[ind][cons][g]) {
    return false;
  }
  dp[ind][cons][g] = true;
  if (s[ind] == '?') {
    int tmp = 0;
    int ng = g;
    if (tmp == k) {
      ng = 1;
    }
    if (solveDp(ind + 1, tmp, ng, n, k)) {
      return true;
    }
    tmp = cons + 1;
    ng = g;
    if (tmp == k) {
      ng = 1;
    }
    if (solveDp(ind + 1, tmp, ng, n, k)) {
      return true;
    }
  } else if (s[ind] == 'Y') {
    int tmp = 0;
    int ng = g;
    if (solveDp(ind + 1, tmp, ng, n, k)) {
      return true;
    }
  } else {
    int tmp = cons + 1;
    int ng = g;
    if (tmp == k) {
      ng = 1;
    }
    if (solveDp(ind + 1, tmp, ng, n, k)) {
      return true;
    }
  }
  return false;
}
void solve() {
  int n, k;
  scanf("%d %d", &n, &k);
  scanf("%s", s);
  int g = 0;
  if (k == 0) {
    g = 1;
  }
  if (solveDp(0, 0, g, n, k)) {
    cout << "YES\n";
  } else {
    cout << "NO\n";
  }
}
int main() { solve(); }
