#include <bits/stdc++.h>
using namespace std;
using Graph = vector<vector<long long>>;
const long long MOD = 1000000007;
const double PI = 3.1415926535897932;
const long long INF = 1 << 29;
long long saiki(long long kaisuu, long long n, long long moji, string str) {
  if (moji == 0) {
    str += "a";
    cout << "a";
  } else if (moji == 1) {
    str += "b";
    cout << "b";
  } else if (moji == 2) {
    str += "c";
    cout << "c";
  } else if (moji == 3) {
    str += "d";
    cout << "d";
  } else if (moji == 4) {
    str += "e";
    cout << "e";
  } else if (moji == 5) {
    str += "f";
    cout << "f";
  } else if (moji == 6) {
    str += "g";
    cout << "g";
  } else if (moji == 7) {
    str += "h";
    cout << "h";
  } else if (moji == 8) {
    str += "i";
    cout << "i";
  } else if (moji == 9) {
    str += "j";
    cout << "j";
  } else {
    str += "k";
    cout << "k";
  }
  kaisuu++;
  if (kaisuu == n) {
    cout << endl;
    return 0;
  }
  for (long long i = 10; i > 0; i--) {
    if (moji - i >= 0) {
      saiki(kaisuu, n, moji - i, str);
      cout << str;
    }
  }
  saiki(kaisuu, n, moji, str);
  cout << str;
  saiki(kaisuu, n, moji + 1, str);
  return 0;
}
long long n;
long long solve() {
  cin >> n;
  long long first = 0;
  string kara = "";
  long long res = saiki(0, n, first, kara);
  return 0;
}
int main() {
  cout << std::fixed << std::setprecision(10);
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  long long end_solve = solve();
  return (int)end_solve;
}
