#include <bits/stdc++.h>
using namespace std;
const int inf = 1e9 + 7;
const int mod = 1e9 + 7;
const int maxn = 1e6 + 3;
long long prime[4000005];
long long exp(long long a, long long b);
void sieve(long long n);
long long gcd(long long a, long long b);
long long countdigit(long long n);
long long sod(long long x);
vector<long long> ft;
long long n, k;
string s;
long long dp[101][101][2];
bool solve(long long idx, long long streak, long long have) {
  if (streak == k) have = 1;
  if (streak > k) return false;
  if (idx == n && have == 1) {
    return true;
  }
  if (idx == n) return false;
  if (dp[idx][streak][have] != -1) return dp[idx][streak][have];
  bool ans = false;
  if (s[idx] == 'N') {
    long long temp = have;
    if (streak + 1 == k) temp = 1;
    ans |= solve(idx + 1, streak + 1, temp);
  } else if (s[idx] == 'Y') {
    ans |= solve(idx + 1, 0, have);
  } else {
    ans |= solve(idx + 1, 0, have);
    long long temp = have;
    if (streak + 1 == k) temp = 1;
    ans |= solve(idx + 1, streak + 1, temp);
  }
  long long res = 1;
  if (ans == false)
    res = 0;
  else
    res = 1;
  return dp[idx][streak][have] = res;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  ;
  long long tt = 1;
  while (tt--) {
    cin >> n >> k;
    cin >> s;
    memset(dp, -1, sizeof(dp));
    bool an = solve(0, 0, 0);
    if (an) {
      cout << "YES\n";
    } else {
      cout << "NO\n";
    }
  }
}
long long exp(long long a, long long b) {
  int res = 1;
  while (b) {
    if (b & 1) res = (res * a) % mod;
    a = (a * a) % mod;
    b >>= 1;
  }
  return res % mod;
}
long long gcd(long long a, long long b) {
  if (a == 0) return b;
  return gcd(b % a, a);
}
void sieve(long long n) {
  for (long long i = 0; i <= n; i++) {
    prime[i] = 1;
  }
  prime[0] = 0;
  prime[1] = 0;
  for (long long i = 2; i <= n; i++) {
    if (prime[i] == 1) {
      for (long long j = 2; i * j <= n; j++) {
        prime[i * j] = 0;
      }
    }
  }
}
long long countdigit(long long n) { return floor(log10(n) + 1); }
long long sod(long long x) {
  long long s = 0;
  while (x != 0) {
    s = s + x % 10;
    x = x / 10;
  }
  return s;
}
