n=int(input())
def dfs():
  todo=[[1]]
  ret=[]
  while len(todo)>0:
    t=todo.pop()
    if len(t)==n:
      ret.append(t)
    else:
      t.append(t[-1])
      todo.append(t)
      tc=t.copy()
      tc[-1]+=1
      todo.append(tc)
  return ret
a=dfs()
n2a = lambda c: chr(c+64).lower()
for ai in a:
  #print(ai)
  print(''.join(map(n2a,ai)))
