#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using P = pair<int, int>;
int n;
vector<string> ans;
void dfs(string s, int x) {
  int l;
  l = s.size();
  if (l == n) {
    ans.push_back(s);
  } else {
    char a;
    a = 'a';
    for (int i = 0; i < (x); ++i) {
      if (i == 0) {
        a = 'a';
      } else if (i == 1) {
        a = 'b';
      } else if (i == 2) {
        a = 'c';
      } else if (i == 3) {
        a = 'd';
      } else if (i == 4) {
        a = 'e';
      } else if (i == 5) {
        a = 'f';
      } else if (i == 6) {
        a = 'g';
      } else if (i == 7) {
        a = 'h';
      } else if (i == 8) {
        a = 'i';
      } else if (i == 9) {
        a = 'j';
      }
      string ss;
      ss = s + a;
      dfs(ss, x + i);
    }
  }
}
int main() {
  cin >> n;
  string aa;
  aa = 'a';
  dfs(aa, 2);
  sort(ans.begin(), ans.end());
  int l2;
  l2 = ans.size();
  for (int i = 0; i < (l2); ++i) {
    cout << ans[i] << endl;
  }
  return 0;
}
