#include <bits/stdc++.h>
std::string f(std::bitset<10> bit, size_t n) {
  std::string ret;
  for (size_t i = 0; i < n; i++) {
    if (bit[i] == 0) {
      ret += 'a';
    } else {
      ret += 'b';
    }
  }
  std::reverse(ret.begin(), ret.end());
  return ret;
}
int main() {
  size_t n;
  std::cin >> n;
  for (std::bitset<10> bit = 0; bit.to_ulong() < (1ul << n) / 2;
       bit = bit.to_ulong() + 1) {
    std::cout << f(bit, n) << std::endl;
  }
  return 0;
}
