#include <bits/stdc++.h>
using namespace std;
using Graph = vector<vector<int>>;
template <class T>
inline bool chmax(T& a, T b) {
  if (a < b) {
    a = b;
    return true;
  }
  return false;
}
template <class T>
inline bool chmin(T& a, T b) {
  if (a > b) {
    a = b;
    return true;
  }
  return false;
}
const int INF = 1e9 + 7;
const long long LINF = 1LL << 60;
int main() {
  int n;
  cin >> n;
  vector<char> a(n);
  for (int(i) = (0); (i) < (n); ++i) {
    a[i] = 'a' + i;
  }
  if (n == 1)
    cout << a[0] << endl;
  else if (n == 2) {
    for (int(i) = (0); (i) < (1); ++i)
      for (int(j) = (0); (j) < (2); ++j) cout << a[i] << a[j] << endl;
  } else if (n == 3) {
    for (int(i) = (0); (i) < (1); ++i)
      for (int(j) = (0); (j) < (2); ++j)
        for (int(k) = (0); (k) < (3); ++k) cout << a[i] << a[j] << a[k] << endl;
  } else if (n == 4) {
    for (int(i) = (0); (i) < (1); ++i)
      for (int(j) = (0); (j) < (2); ++j)
        for (int(k) = (0); (k) < (3); ++k)
          for (int(l) = (0); (l) < (4); ++l)
            cout << a[i] << a[j] << a[k] << a[l] << endl;
  } else if (n == 5) {
    for (int(i) = (0); (i) < (1); ++i)
      for (int(j) = (0); (j) < (2); ++j)
        for (int(k) = (0); (k) < (3); ++k)
          for (int(l) = (0); (l) < (4); ++l)
            for (int(m) = (0); (m) < (5); ++m)
              cout << a[i] << a[j] << a[k] << a[l] << a[m] << endl;
  } else if (n == 6) {
    for (int(i) = (0); (i) < (1); ++i)
      for (int(j) = (0); (j) < (2); ++j)
        for (int(k) = (0); (k) < (3); ++k)
          for (int(l) = (0); (l) < (4); ++l)
            for (int(m) = (0); (m) < (5); ++m)
              for (int(o) = (0); (o) < (6); ++o)
                cout << a[i] << a[j] << a[k] << a[l] << a[m] << a[o] << endl;
  } else if (n == 7) {
    for (int(i) = (0); (i) < (1); ++i)
      for (int(j) = (0); (j) < (2); ++j)
        for (int(k) = (0); (k) < (3); ++k)
          for (int(l) = (0); (l) < (4); ++l)
            for (int(m) = (0); (m) < (5); ++m)
              for (int(o) = (0); (o) < (6); ++o)
                for (int(p) = (0); (p) < (7); ++p)
                  cout << a[i] << a[j] << a[k] << a[l] << a[m] << a[o] << a[p]
                       << endl;
  } else if (n == 8) {
    for (int(i) = (0); (i) < (1); ++i)
      for (int(j) = (0); (j) < (2); ++j)
        for (int(k) = (0); (k) < (3); ++k)
          for (int(l) = (0); (l) < (4); ++l)
            for (int(m) = (0); (m) < (5); ++m)
              for (int(o) = (0); (o) < (6); ++o)
                for (int(p) = (0); (p) < (7); ++p)
                  for (int(q) = (0); (q) < (8); ++q)
                    cout << a[i] << a[j] << a[k] << a[l] << a[m] << a[o] << a[p]
                         << a[q] << endl;
  } else if (n == 9) {
    for (int(i) = (0); (i) < (1); ++i)
      for (int(j) = (0); (j) < (2); ++j)
        for (int(k) = (0); (k) < (3); ++k)
          for (int(l) = (0); (l) < (4); ++l)
            for (int(m) = (0); (m) < (5); ++m)
              for (int(o) = (0); (o) < (6); ++o)
                for (int(p) = (0); (p) < (7); ++p)
                  for (int(q) = (0); (q) < (8); ++q)
                    for (int(r) = (0); (r) < (9); ++r)
                      cout << a[i] << a[j] << a[k] << a[l] << a[m] << a[o]
                           << a[p] << a[q] << a[r] << endl;
  } else {
    for (int(i) = (0); (i) < (1); ++i)
      for (int(j) = (0); (j) < (2); ++j)
        for (int(k) = (0); (k) < (3); ++k)
          for (int(l) = (0); (l) < (4); ++l)
            for (int(m) = (0); (m) < (5); ++m)
              for (int(o) = (0); (o) < (6); ++o)
                for (int(p) = (0); (p) < (7); ++p)
                  for (int(q) = (0); (q) < (8); ++q)
                    for (int(r) = (0); (r) < (9); ++r)
                      for (int(s) = (0); (s) < (10); ++s)
                        cout << a[i] << a[j] << a[k] << a[l] << a[m] << a[o]
                             << a[p] << a[q] << a[r] << a[s] << endl;
  }
  return 0;
}
