#include <bits/stdc++.h>
using namespace std;
inline void read(int &x) {
  short negative = 1;
  x = 0;
  char c = getchar();
  while (c < '0' || c > '9') {
    if (c == '-') negative = -1;
    c = getchar();
  }
  while (c >= '0' && c <= '9')
    x = (x << 3) + (x << 1) + (c ^ 48), c = getchar();
  x *= negative;
}
inline void write(long long x) {
  static long long sta[35];
  long long top = 0;
  do {
    sta[top++] = x % 10, x /= 10;
  } while (x);
  while (top) putchar(sta[--top] + 48);
  puts("");
}
void finish(string s) {
  cout << s << endl;
  exit(0);
}
bool prime(int n) {
  if (n == 0 || n == 1) return false;
  for (int i = 2; i * i <= n; i++)
    if (n % i == 0) return false;
  return true;
}
const long long power(int n, int k) {
  long long t = 1;
  for (int i = 0; i < (int)(k); i++) t *= n;
  return t;
}
const string turn2(int n) {
  string s = "";
  while (n != 0) {
    s += (char)(n % 2 + '0');
    n /= 2;
  }
  reverse(s.begin(), s.end());
  return s;
}
string turn(int n, int k) {
  string s = "";
  while (n) {
    s += (char)(n % k + '0');
    n /= k;
  }
  reverse(s.begin(), s.end());
  return s;
}
const string turn16(int n) {
  string s = "";
  while (n != 0) {
    if (n % 16 > 9)
      s += (char)('A' + n % 16 - 10);
    else
      s += (char)('0' + n % 16);
    n /= 16;
  }
  reverse(s.begin(), s.end());
  return s;
}
const long long quickpower(int n, int k) {
  if (k == 1) return n;
  if (k % 2 == 1)
    return n * quickpower(n, k / 2) * quickpower(n, k / 2);
  else
    return quickpower(n, k / 2) * (quickpower(n, k / 2));
}
const int dx[] = {-1, 0, 1, 0};
const int dy[] = {0, -1, 0, 1};
const int month[2][12] = {{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
                          {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}};
vector<int> v;
int main() {
  int n;
  cin >> n;
  for (int i = 0; i < (int)(n * (n - 1)); i++) {
    string t = turn(i, n);
    string now = "";
    for (int j = 0; j < n - t.size(); j++) {
      now += '0';
    }
    now += t;
    for (int j = 0; j < (int)(n); j++) {
      cout << (char)(now[j] - '0' + 'a');
    }
    cout << endl;
  }
  return 0;
}
