#include <bits/stdc++.h>
using namespace std;
using Int = long long;
constexpr double EPS = 1e-10;
constexpr long long MOD = 1000000007;
long long mod_pow(long long x, long long n) {
  long long res = 1;
  for (int i = 0; i < 60; i++) {
    if (n >> i & 1) res = res * x % MOD;
    x = x * x % MOD;
  }
  return res;
}
long long my_mod_pow(long long x, long long n) {
  long long ret = 1;
  for (; n > 0; n >>= 1, x = x * x % MOD) {
    if (n & 1) {
      ret = ret * x % MOD;
    }
  }
  return ret;
}
template <typename T>
T gcd(T a, T b) {
  return b != 0 ? gcd(b, a % b) : a;
}
template <typename T>
T lcm(T a, T b) {
  return a * b / gcd(a, b);
}
void fastInput() {
  cin.tie(0);
  ios::sync_with_stdio(false);
}
int N;
int used[11];
vector<int> perm;
int dfs(int level) {
  if (level == N) {
    for (int i = 0; i < N; i++) {
      cout << (char)('a' + perm[i]);
    }
    cout << endl;
    return 0;
  }
  for (int i = 0; i <= level; i++) {
    perm[level] = i;
    dfs(level + 1);
  }
  return 0;
}
int main(void) {
  cin >> N;
  perm = vector<int>(N);
  dfs(0);
}
