#include <bits/stdc++.h>
using namespace std;
void _dbg(string) { cout << endl; }
template <class H, class... T>
void _dbg(string s, H h, T... t) {
  int l = s.find(',');
  cout << s.substr(0, l) << " = " << h << ", ";
  _dbg(s.substr(l + 1), t...);
}
template <class T, class U>
ostream &operator<<(ostream &o, const pair<T, U> &p) {
  o << "(" << p.first << "," << p.second << ")";
  return o;
}
template <class T>
ostream &operator<<(ostream &o, const vector<T> &v) {
  o << "[";
  for (T t : v) {
    o << t << ",";
  }
  o << "]";
  return o;
}
int main() {
  int k;
  cin >> k;
  if (k == 0) {
    cout << "hoge" << endl;
    return 0;
  }
  vector<int> res;
  while (k > 0) {
    int x = 2;
    while (x * (x + 1) / 2 <= k) x++;
    res.push_back((x));
    k -= x * (x - 1) / 2;
  }
  assert(k == 0 && res.size() <= 26 &&
         accumulate((res).begin(), (res).end(), 0) <= 100000);
  for (int i = (int)(0); i < (int)(res.size()); i++)
    cout << string(res[i], i + 'a');
  cout << endl;
  return 0;
}
