#include <bits/stdc++.h>
using namespace std;
template <typename T>
T gcd(T a, T b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  int N;
  queue<string> que;
  cin >> N;
  que.push("a");
  while (!que.empty()) {
    string s = que.front();
    que.pop();
    if (s.size() == N)
      cout << s << endl;
    else {
      set<char> t;
      for (int i = 0; i < (s.size()); i++) {
        t.insert(s[i]);
      }
      t.insert((char)(*(--s.end()) + 1));
      for (auto ite = t.begin(); ite != t.end(); ite++) {
        string v;
        v = s + *ite;
        que.push(v);
      }
    }
  }
}
