#include <bits/stdc++.h>
using namespace std;
template <class T>
T gcd(T a, T b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
struct debugger {
  template <typename T>
  debugger& operator,(const T& v) {
    cerr << v << " ";
    return *this;
  }
} dbg;
long long int bigmod(long long int B, long long int P, long long int M) {
  long long int R = 1;
  while (P > 0) {
    if (P & 1) {
      R = (R * B) % M;
    }
    P /= 2;
    B = (B * B) % M;
  }
  return R;
}
const int N = 500 + 5;
string str[N], arr[N];
int unq, n, k;
void generate_str() {
  unq = 0;
  for (char c = 'A'; c <= 'Z'; c++) {
    for (char d = 'a'; d <= 'z'; d++) {
      string s = "";
      s += c;
      s += d;
      str[++unq] = s;
      if (unq >= 100) break;
    }
  }
}
int main() {
  generate_str();
  while (scanf("%d%d", &n, &k) != EOF) {
    for (int i = 1; i <= n; i++) {
      arr[i] = str[i];
    }
    int i = 1, j = k;
    string s;
    for (; j <= n;) {
      cin >> s;
      if (s == "NO") {
        arr[i + k - 1] = arr[i];
      }
      ++i;
      ++j;
    }
    for (int i = 1; i <= n; i++) {
      cout << arr[i] << " ";
    }
    cout << endl;
  }
  return 0;
}
