#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;
}
vector<string> ansv;
int n;
void dfs(string str, int cur) {
  if (cur == n) {
    ansv.push_back(str);
    return;
  }
  cur++;
  char last = 'a';
  for (char c : str) {
    last = max(last, c);
    dfs(str + c, cur);
  }
  last += 1;
  dfs(str + last, cur);
}
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  cin >> n;
  dfs("a", 1);
  sort(ansv.begin(), ansv.end());
  for (auto a : ansv) {
    cout << a << endl;
  }
}
