import itertools
n=int(input())
fct=1
for i in range(n):
    fct*=i+1
    
mx=[i+1 for i in range(n)]
flg=[[]*n for i in range(n)]
for i in range(n):
    for j in range(n):
        if j<mx[i]:
            flg[i].append(chr(ord('a')+j))

s=''
'''
for i in range(fct):
    ss=[]
    if i==0:
        ss="a"*n
    else :
        for j in reversed(range(n)):
            ii=i
            if ii<0:
                ii=0
            mi=min(mx[j]-1,i)
            ss.insert(0,flg[j][mi])
            i-=mi
    if s==''.join(ss):
        break
    s=''.join(ss)
    print(s)
'''
if n==1:
    print('a')
elif n==2:
    for i,j in itertools.product(flg[0],flg[1]):
        print(i+j)
elif n==3:
    for i in itertools.product(flg[0],flg[1],flg[2]):
        print(''.join(i))
elif n==4:
    for i in itertools.product(flg[0],flg[1],flg[2],flg[3]):
        print(''.join(i))
elif n==5:
    for i in itertools.product(flg[0],flg[1],flg[2],flg[3],flg[4]):
        print(''.join(i))
elif n==6:
    for i in itertools.product(flg[0],flg[1],flg[2],flg[3],flg[4],flg[5]):
        print(''.join(i))
elif n==7:
    for i in itertools.product(flg[0],flg[1],flg[2],flg[3],flg[4],flg[5],flg[6]):
        print(''.join(i))
elif n==8:
    for i in itertools.product(flg[0],flg[1],flg[2],flg[3],flg[4],flg[5],flg[6],flg[7]):
        print(''.join(i))
elif n==9:
    for i in itertools.product(flg[0],flg[1],flg[2],flg[3],flg[4],flg[5],flg[6],flg[7],flg[8]):
        print(''.join(i))
elif n==10:
    for i in itertools.product(flg[0],flg[1],flg[2],flg[3],flg[4],flg[5],flg[6],flg[7],flg[8],flg[9]):
        print(''.join(i))