#include <bits/stdc++.h>
using namespace std;
const long long INF = 1LL << 60;
template <class T = long long>
T input() {
  T x;
  cin >> x;
  return x;
}
template <class T>
void output(T x) {
  cout << x << endl;
}
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;
}
long long gcd(long long x, long long y) { return y ? gcd(y, x % y) : x; }
vector<vector<int>> getRet(int n);
int main() {
  int N = input();
  for (auto iter : getRet(5)) {
    string s;
    for (auto iter2 : iter) {
      char c = iter2 - 1 + 'a';
      cout << c;
    }
    cout << endl;
  }
  return 0;
}
vector<vector<int>> getRet(int n) {
  if (n == 1) {
    return {{1}};
  }
  vector<vector<int>> prev = getRet(n - 1);
  vector<vector<int>> ret;
  for (auto iter : prev) {
    int max = *(std::max_element(iter.begin(), iter.end())) + 1;
    for (int i = 1; i <= max; i++) {
      vector<int> r = iter;
      r.push_back(i);
      ret.push_back(r);
    }
  }
  return ret;
}
