#include <bits/stdc++.h>
using namespace std;
const int inf = 1e9 + 7;
const long long INF = 1LL << 60;
const long long mod = 1e9 + 7;
const long double eps = 1e-8;
const long double pi = acos(-1.0);
template <class T>
inline bool chmax(T& a, T b) {
  if (a < b) {
    a = b;
    return 1;
  }
  return 0;
}
template <class T>
inline bool chmin(T& a, T b) {
  if (a > b) {
    a = b;
    return 1;
  }
  return 0;
}
vector<string> ans;
int n;
void dfs(string x) {
  int i = (int)x.size();
  if (i == n) {
    ans.push_back(x);
    return;
  }
  char y = x[i - 1];
  for (int i = 0; i <= (y - 'a') + 1; ++i) {
    char z = 'a' + i;
    dfs(x + z);
  }
}
void solve() {
  cin >> n;
  dfs("a");
  sort(ans.begin(), ans.end());
  ans.erase(unique(ans.begin(), ans.end()), ans.end());
  for (auto k : ans) {
    cout << k << endl;
  }
}
signed main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  solve();
  return 0;
}
