#include <bits/stdc++.h>
using namespace std;
template <class T>
inline bool chmin(T& a, T b) {
  if (a > b) {
    a = b;
    return true;
  }
  return false;
}
template <class T>
inline bool chmax(T& a, T b) {
  if (a < b) {
    a = b;
    return true;
  }
  return false;
}
const long long INF = 1LL << 60;
set<string> ans;
int N;
void solve(string s) {
  if ((int)s.size() == N) {
    ans.insert(s);
  }
  if ((int)s.size() < N) {
    solve(s + "a");
    solve(s + 'b');
  }
}
int main() {
  cin >> N;
  string s = "a";
  solve("a");
  for (int i = (1); i < (N); i++) {
    s += (char)('a' + i);
  }
  ans.insert(s);
  for (auto itr = ans.begin(); itr != ans.end(); itr++) {
    cout << *itr << endl;
  }
  return 0;
}
