#include <bits/stdc++.h>
using namespace std;
const int MOD = (int)1e9 + 7;
const double EPS = 1e-9;
const int INF = INT_MAX;
const long long INFLL = (long long)1e18;
const double PI = acos(-1.0);
template <class T>
T gcd(T a, T b) {
  return b ? gcd(b, a % b) : a;
}
template <class T>
T lcm(T a, T b) {
  return a / gcd(a, b) * b;
}
template <class T>
T sqr(T a) {
  return a * a;
}
template <class T>
T abs(T a) {
  return (a > 0 ? a : -a);
}
const int N = (int)1e5 + 5;
const int magic = 1 << 18;
const int dx[] = {1, -1, 0, 0};
const int dy[] = {0, 0, 1, -1};
int k, n;
string a[] = {"Aa", "Ab", "Ac", "Ad", "Ae", "Af", "Ag", "Ah", "Ai", "Aj", "Ak",
              "Al", "Am", "An", "Ao", "Ap", "Aq", "Ar", "As", "At", "Au", "Av",
              "Aw", "Ax", "Ay", "Az", "A",  "B",  "C",  "D",  "E",  "F",  "G",
              "H",  "I",  "J",  "K",  "L",  "M",  "N",  "O",  "P",  "Q",  "R",
              "S",  "T",  "U",  "V",  "W",  "X",  "Y"};
string nam[55];
int was[28], was2[28];
int chk(string x) {
  if (((int)(x).size()) == 1) return was2[x[0] - 'A'];
  if (x[1] <= 'z' && x[1] >= 'a') return was[x[1] - 'a'];
  return was2[x[0] - 'A'];
}
void fll(string x) {
  if (((int)(x).size()) == 1)
    was2[x[0] - 'A'] = 1;
  else if (x[1] <= 'z' && x[1] >= 'a')
    was[x[1] - 'a'] = 1;
  else
    was2[x[0] - 'A'] = 1;
}
int main() {
  ios::sync_with_stdio(false);
  cout.setf(ios::fixed | ios::showpoint);
  cout.precision(8);
  cin >> n >> k;
  for (int z = 0; z < n - k + 1; z++) {
    string cur;
    cin >> cur;
    if (cur[0] == 'Y') {
      for (int i = 0; i < 26; i++) {
        was[i] = 0;
        was2[i] = 0;
      }
      if (z == 0) {
        for (int i = 0; i < k; i++) nam[i] = a[i];
        continue;
      }
      for (int i = z; i < k + z - 1; i++) {
        fll(nam[i]);
      }
      for (int i = 0; i < 51; i++) {
        if (chk(a[i]) == 0) {
          nam[k + z - 1] = a[i];
          break;
        }
      }
    } else {
      for (int i = 0; i < 26; i++) {
        was[i] = 0;
        was2[i] = 0;
      }
      if (z == 0) {
        for (int i = 0; i < k - 1; i++) nam[i] = a[i];
        nam[k - 1] = nam[0];
        continue;
      }
      nam[k + z - 1] = nam[z];
    }
  }
  for (int i = 0; i < n; i++) cout << nam[i] << ' ';
  cout << '\n';
  return 0;
}
