#include <bits/stdc++.h>
using namespace std;
int N;
vector<string> vec;
void dfs(string s) {
  if (s.size() == N) {
    vec.push_back(s);
    return;
  }
  if (s.empty()) {
    s += 'a';
    dfs(s);
  }
  char s1 = *max_element(s.begin(), s.end()) + 1;
  for (char i = 'a'; i <= s1; i++) {
    s += i;
    dfs(s);
    s.pop_back();
  }
}
int main() {
  cin >> N;
  string s = "";
  dfs(s);
  for (int i = 0; i < vec.size(); i++) cout << vec[i] << endl;
}
