#include <bits/stdc++.h>
const long long mod = 1e9 + 7;
const long long INF = -1 * ((1LL << 63) + 1);
const int inf = -1 * ((1 << 31) + 1);
using namespace std;
int n;
vector<string> ans;
void dfs(string s, int d, int cnt) {
  if (d == n) {
    ans.push_back(s);
    return;
  }
  for (int i = 0; i < cnt + 1; i++) {
    dfs(s + char(i + 'a'), d + 1, i + 1);
  }
}
int main(void) {
  cin.tie(0);
  ios::sync_with_stdio(false);
  cout << fixed << setprecision(20);
  cin >> n;
  string s = "";
  dfs(s, 0, 0);
  sort((ans).begin(), (ans).end());
  for (int i = 0; i < ans.size(); i++) {
    if (i > 0 && ans[i] == ans[i - 1]) continue;
    cout << ans[i] << endl;
  }
}
