#include <bits/stdc++.h>
using namespace std;
template <typename T>
inline void _read(T& x) {
  char t = getchar();
  bool sign = true;
  while (t < '0' || t > '9') {
    if (t == '-') sign = false;
    t = getchar();
  }
  for (x = 0; t >= '0' && t <= '9'; t = getchar()) x = x * 10 + t - '0';
  if (!sign) x = -x;
}
int n, k;
char s[10];
bool mark[55];
int num[55];
int temp[55];
bool use[55];
string name[55];
int main() {
  int i, j;
  for (i = 1; i <= 26; i++) {
    name[i] += 'A' + i - 1;
  }
  for (i = 27; i <= 50; i++) {
    name[i] = name[i - 26];
    name[i] += ('a' + i - 26 - 1);
  }
  cin >> n >> k;
  for (i = 1; i <= n - k + 1; i++) {
    scanf("%s", s + 1);
    if (s[1] == 'Y')
      mark[i] = false;
    else if (s[1] == 'N')
      mark[i] = true;
  }
  if (mark[1]) {
    num[1] = num[2] = 1;
  }
  for (i = 1; i <= k; i++) {
    if (mark[1] == false)
      num[i] = i;
    else if (i >= 2)
      num[i] = i - 1;
  }
  for (i = k + 1; i <= n; i++) {
    if (mark[i - k + 1]) {
      num[i] = num[i - k + 1];
    } else {
      memset(use, 0, sizeof(use));
      for (j = i - k + 1; j < i; j++) {
        use[num[j]] = true;
      }
      for (j = 1;; j++) {
        if (use[j] == false) {
          num[i] = j;
          break;
        }
      }
    }
  }
  for (i = 1; i <= n; i++) {
    cout << name[num[i]] << " ";
  }
}
