#include <bits/stdc++.h>
using namespace std;
long long gcd(long long a, long long b) {
  return a % b == 0 ? b : gcd(b, a % b);
}
const int mod = 1000000007;
int N;
vector<string> ans;
void dfs(string s, int n) {
  if (s.size() == N) {
    ans.push_back(s);
  } else {
    for (auto i = 0; i < n + 1; i++) {
      string next = s;
      next += ('a' + i);
      dfs(next, i + 1);
    }
  }
}
int main() {
  cin >> N;
  dfs("", 0);
  for (auto st : ans) {
    puts(st.c_str());
  }
  return 0;
}
