#include <bits/stdc++.h>
using namespace std;
const long long MOD = 1e9 + 7;
const long long INF = 1e18;
long long n, cnt[20];
string cal() {
  long long mp[10];
  memset(mp, -1, sizeof(mp));
  long long ab = 0;
  for (long long i = (0); i < (n); i++) {
    if (mp[cnt[i]] == -1) {
      mp[cnt[i]] = ab;
      ab++;
    }
  }
  char res[n];
  for (long long i = (0); i < (n); i++) {
    res[i] = char(mp[cnt[i]] + 'a');
  }
  return res;
}
long long fac(long long x) {
  long long res = 1;
  while (x) {
    res *= x;
    x--;
  }
  return res;
}
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  cin >> n;
  memset(cnt, 0, sizeof(cnt));
  set<string> s;
  for (long long i = (0); i < (fac(n)); i++) {
    string tmp = cal();
    s.insert(tmp);
    cnt[n - 1]++;
    for (long long j = (n - 1); j >= (1); j--) {
      if (cnt[j] > j) {
        cnt[j] = 0;
        cnt[j - 1]++;
      }
    }
  }
  for (auto it = s.begin(); it != s.end(); it++) {
    for (long long i = (0); i < (n); i++) {
      cout << (*it)[i];
    }
    cout << endl;
  }
  return 0;
}
