#include <bits/stdc++.h>
using namespace std;
bool only_a(string s) {
  for (int i = 0; i < s.size() - 1; i++)
    if (s[i] != s[i + 1]) return false;
  return true;
}
int main(void) {
  int N;
  cin >> N;
  string str[11] = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j"};
  queue<string> ans;
  ans.push("a");
  string s;
  if (N >= 2) {
    s = ans.front();
    ans.pop();
    ans.push(s + str[0]);
    ans.push(s + str[1]);
  }
  int i, j, k, size;
  for (i = 2; i < N; i++) {
    size = ans.size();
    for (j = 0; j < size - 1; j++) {
      s = ans.front();
      ans.pop();
      if (only_a(s) == true) {
        ans.push(s + str[0]);
        ans.push(s + str[1]);
      } else
        for (k = 0; k < i; k++) ans.push(s + str[k]);
    }
    s = ans.front();
    ans.pop();
    for (k = 0; k < i + 1; k++) ans.push(s + str[k]);
  }
  while (!ans.empty()) {
    cout << ans.front() << endl;
    ans.pop();
  }
  return 0;
}
