# coding: utf-8

import sys
import math
import collections
import itertools
INF = 10 ** 10
MOD = 10 ** 9 + 7
def input() : return sys.stdin.readline().strip()
def gcd(x, y) : return y if x % y == 0 else gcd(y, x % y)
def lcm(x, y) : return (x * y) // gcd(x, y)
def I() : return int(input())
def LI() : return [int(x) for x in input().split()]
def RI(N) : return [int(input()) for _ in range(N)]
def LRI(N) : return [[int(x) for x in input().split()] for _ in range(N)]

N = I()
ans = []
for bit in range(1 << N):
    tmp = ""

    for i in range(N):
        if bit & (1 << i):
            tmp += ("a")
        else:
            tmp += ("b")
    
    ans.append(tmp[::-1])

ans.reverse()

for i in range(int(len(ans) / 2)):
    print(ans[i])