#include <bits/stdc++.h>
using namespace std;
inline long long GCD(long long a, long long b) {
  long long r;
  while (b) {
    r = a % b;
    a = b;
    b = r;
  }
  return a;
};
inline long long LCM(long long a, long long b) { return a / GCD(a, b) * b; };
inline long long fpow(long long n, long long k, long long p) {
  long long r = 1;
  for (; k; k >>= 1) {
    if (k & 1) r = r * n % p;
    n = n * n % p;
  }
  return r;
};
inline long long inv(long long a, long long p) { return fpow(a, p - 2, p); }
const long long MOD = (long long)1e9 + 7;
const long long MAXUS = std::numeric_limits<long long>::max();
;
const long double PI = acos((long double)-1);
const long double epsilon = 1e-9;
template <typename T>
T input() {
  T res;
  cin >> res;
  {};
  return res;
}
template <typename IT>
void input_seq(IT b, IT e) {
  std::generate(b, e,
                input<typename std::remove_reference<decltype(*b)>::type>);
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  int k;
  cin >> k;
  char curChar = 'a';
  if (k == 0) cout << "a";
  while (k > 0) {
    int start = 1;
    while (start * (start + 1) / 2 <= k) {
      start++;
    }
    k -= start * (start - 1) / 2;
    for (int i = 0; i < (start); i++) cout << curChar;
    curChar++;
  }
  cout << endl;
  return 0;
}
