#include <bits/stdc++.h>
using namespace std;
vector<int> arr;
int ans[26];
int memo[26][100005];
bool find(int pos, int left) {
  if (pos >= 26) {
    if (left == 0)
      return true;
    else
      return false;
  }
  int &ret = memo[pos][left];
  if (ret == -1) {
    memo[pos][left] = 0;
    for (int i = 0; i < (int)arr.size(); i++) {
      if (left - arr[i] < 0) break;
      if (find(pos + 1, left - arr[i])) {
        memo[pos][left] = 1;
        ans[pos] = i;
        break;
      }
    }
  }
  return memo[pos][left];
}
void init() {
  memset(memo, -1, sizeof memo);
  int now = 0;
  int sum = 0;
  while (sum <= 100000) {
    arr.push_back(sum);
    now++;
    sum += now;
  }
}
int main() {
  init();
  int k;
  scanf("%d", &k);
  find(0, k);
  for (int i = 0; i < 26; i++) {
    for (int j = 0; j < ans[i] + 1; j++) {
      printf("%c", 'a' + i);
    }
  }
  printf("\n");
}
