#include <bits/stdc++.h>
using namespace std;
long long gcd(long long a, long long b) { return b ? gcd(b, a % b) : a; }
long long lcm(long long a, long long b) { return b / gcd(a, b) * b; }
int main() {
  long long n;
  cin >> n;
  for (int bit = 0; bit < (1 << (n - 1)); ++bit) {
    vector<int> S;
    for (int i = 0; i < n; ++i) {
      if (bit & (1 << i)) {
        S.push_back(i);
      }
    }
    vector<char> ans(n, 'b');
    ans[0] = 'a';
    vector<int> ma(n - 1);
    for (int j = 0; j < S.size(); j++) {
      ans[S[j] + 1] = 'a';
    }
    string ansS = "";
    for (int i = 0; i < n; i++) {
      ansS += ans[i];
    }
    cout << ansS << endl;
  }
  string ansS = "";
  for (int i = 0; i < n; i++) {
    char tmp = 'a' + i;
    ansS += tmp;
  }
  cout << ansS << endl;
  return 0;
}
