#include <bits/stdc++.h>
using namespace std;
long long max(long long a, long long b) { return a > b ? a : b; }
long long min(long long a, long long b) { return a < b ? a : b; }
double max(double a, double b) { return a > b ? a : b; }
double min(double a, double b) { return a < b ? a : b; }
long long modd(long long a) {
  if (a < 0LL) return a * -1LL;
  return a;
}
double modd(double a) {
  if (a < 0.0) return a * -1.0;
  return a;
}
long long modulo(long long a) { return a % 1000000007LL; }
long long comp(long long& a, long long& b) { return a > b; }
long long power(long long k, long long p) {
  if (p == 0) return 1LL;
  long long P = power(k, p / 2LL);
  P = (P * P) % 1000000007LL;
  if (p % 2 == 1) P = (P * k) % 1000000007LL;
  return P;
}
long long sum(long long bit[], long long i) {
  long long ans = 0;
  while (i > 0) {
    ans += bit[i];
    i -= i & (-i);
  }
  return ans;
}
void update(long long bit[], long long n, long long i, long long delta) {
  while (i <= n) {
    bit[i] += delta;
    i += i & (-i);
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long n;
  cin >> n;
  long long same = n, diff = 0;
  string ans = "";
  while (n > 0) {
    ans = "";
    long long t = same;
    while (t > 0) {
      ans += "a";
      t--;
    }
    t = diff;
    long long count = 1;
    while (t > 0) {
      ans += string(1, count + 'a');
      count++;
      t--;
    }
    cout << ans << endl;
    n--;
    same--;
    diff++;
  }
  return 0;
}
