#include <bits/stdc++.h>
using namespace std;
bool check(string &s, int k, int ind) {
  int cntr = 0;
  for (int i = ind; i < s.size(); i++) {
    if (s[i] == 'N' || s[i] == '?') {
      cntr++;
    } else if (s[i] == 'Y' && cntr < k)
      return false;
    if (cntr == k) {
      if (i == s.size() - 1)
        return true;
      else if (s[i + 1] != 'N')
        return true;
      else
        return false;
    }
  }
  return false;
}
int main() {
  int n, k;
  cin >> n >> k;
  string s;
  cin >> s;
  int cnt = (s[0] == 'N' ? 1 : 0), maxcnt = 0;
  for (int i = 1; i < s.size(); i++) {
    if (s[i] == 'N' && s[i - 1] == 'N')
      cnt++;
    else if (s[i] == 'N')
      cnt = 1;
    else {
      maxcnt = max(cnt, maxcnt);
      cnt = 0;
    }
    maxcnt = max(cnt, maxcnt);
  }
  maxcnt = max(cnt, maxcnt);
  if (maxcnt > k) {
    cout << "NO" << endl;
    return 0;
  } else if (maxcnt == k) {
    cout << "YES" << endl;
    return 0;
  }
  bool ok = check(s, k, 0);
  if (ok) {
    cout << "YES" << endl;
    return 0;
  }
  for (int i = 1; i < s.size(); i++)
    if ((s[i] == 'N' || s[i] == '?') && s[i - 1] != 'N') {
      ok = check(s, k, i);
      if (ok) break;
    }
  if (ok)
    cout << "YES" << endl;
  else
    cout << "NO" << endl;
  return 0;
}
