#include <bits/stdc++.h>
using namespace std;
vector<int> adj[52];
bool visited[52];
string b[52];
void dfs(int s, string c) {
  visited[s] = true;
  b[s] = c;
  for (int i = 0; i < adj[s].size(); ++i) {
    if (visited[adj[s][i]] == false) dfs(adj[s][i], c);
  }
}
int main() {
  long long int n, k;
  cin >> n >> k;
  long long int tt = n - k + 1;
  string s[n - k + 1];
  for (long long int i = 0; i < tt; i++) {
    cin >> s[i];
  }
  long long int a[n + 1];
  fill(a, a + n + 1, 0);
  vector<pair<long long int, long long int> > vv;
  for (long long int i = 0; i < tt; i++) {
    if (s[i] == "NO") {
      long long int t1 = (i + 1);
      long long int t2 = (i + 1 + k - 1);
      adj[t1].push_back(t2);
      adj[t2].push_back(t1);
    }
  }
  char c = 'a';
  long long int co = 1;
  string ss = "A";
  for (long long int i = 1; i <= n; i++) {
    string cc = ss + c;
    if (visited[i] == false) {
      dfs(i, cc);
      c++;
      co++;
      if (co == 27) {
        c = 'a';
        ss = "B";
      }
    }
  }
  for (long long int i = 1; i <= n; i++) {
    cout << b[i] << " ";
  }
}
