#include<bits/stdc++.h>
#define _GLIBCXX_DEBUG
//repマクロ定義
#define rep(i,n) for (int i = 0; i < (int)(n); i++)
//allマクロ定義
#define all(v) v.begin(),v.end()
using namespace std;

//global variable
int N;

//Recursive function
void dfs(string s,char mx){
  if(s.length()==N){
    printf("%s\n",s.c_str())
  }else{
    for(char c='a';c<=mx;c++){
      dfs(s+c,(c==mx) ? (char)(mx+1):mx);
    }
  }
}
int main()
{
  cin >> N;
  dfs("",'a');
}