#include <bits/stdc++.h>
using namespace std;
int binarySearch(int arr[], int l, int r, int x) {
  while (l <= r) {
    int m = l + (r - l) / 2;
    if (arr[m] == x) return m;
    if (arr[m] < x)
      l = m + 1;
    else
      r = m - 1;
  }
  return -1;
}
bool isprime(int n) {
  if (n <= 1) return false;
  for (int i = 2; i < n; i++)
    if (n % i == 0) return false;
  return true;
}
long long int fact(int n) {
  int res = 1;
  for (int i = 2; i <= n; i++) res = res * i;
  return res;
}
long long binomialCoeff(long long n, long long k) {
  long long C[n + 1][k + 1];
  long long i, j;
  for (i = 0; i <= n; i++) {
    for (j = 0; j <= min(i, k); j++) {
      if (j == 0 || j == i)
        C[i][j] = 1;
      else
        C[i][j] = (C[i - 1][j - 1] + C[i - 1][j]) % 1000000007;
      C[i][j] %= 1000000007;
    }
  }
  return C[n][k];
}
int countDigit(long long n) {
  int count = 0;
  while (n != 0) {
    n = n / 10;
    ++count;
  }
  return count;
}
long long int power(int a, int b) {
  long long k = 1;
  for (int i = 0; i < b; i++) {
    k *= a;
    k %= 1000000007;
  }
  return k;
}
double nthRoot(long long int A, long long int N) {
  double xPre = rand() % 10;
  double eps = 1e-3;
  double delX = INT_MAX;
  double xK;
  while (delX > eps) {
    xK = ((N - 1.0) * xPre + (double)A / pow(xPre, N - 1)) / (double)N;
    delX = abs(xK - xPre);
    xPre = xK;
  }
  return xK;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long int k, c = 0;
  char arr[10];
  arr[0] = 'c', arr[1] = 'o', arr[2] = 'd', arr[3] = 'e', arr[4] = 'f',
  arr[5] = 'o', arr[6] = 'r', arr[7] = 'c', arr[8] = 'e', arr[9] = 's';
  vector<long long int> v, v1;
  cin >> k;
  if (k == 1) {
    cout << "codeforces";
    return 0;
  }
  double p = nthRoot(k, 10);
  if (p == floor(p)) {
    for (int i = 0; i < p; i++) cout << "c";
    for (int i = 0; i < p; i++) cout << "o";
    for (int i = 0; i < p; i++) cout << "d";
    for (int i = 0; i < p; i++) cout << "e";
    for (int i = 0; i < p; i++) cout << "f";
    for (int i = 0; i < p; i++) cout << "o";
    for (int i = 0; i < p; i++) cout << "r";
    for (int i = 0; i < p; i++) cout << "c";
    for (int i = 0; i < p; i++) cout << "e";
    for (int i = 0; i < p; i++) cout << "s";
  } else {
    p = floor(p);
    for (int i = 0; i <= 10; i++) {
      long long int z = 1, flag = 0;
      for (int j = 0; j < i; j++) {
        z *= p;
        if (z >= k) {
          flag = 1;
          break;
        }
      }
      if (flag) {
        v.push_back(i), v1.push_back(p * i + (p + 1) * (10 - i));
        continue;
      }
      for (int j = 0; j < 10 - i; j++) {
        z *= (p + 1);
        if (z >= k) {
          flag = 1;
          break;
        }
      }
      if (flag) v.push_back(i), v1.push_back(p * i + (p + 1) * (10 - i));
    }
    long long int mini = 10000000000;
    for (int i = 0; i < v1.size(); i++) {
      if (mini > v1[i]) mini = v1[i];
    }
    for (int i = 0; i < v1.size(); i++) {
      if (mini == v1[i]) {
        for (int k = 0; k < v[i]; k++) {
          for (int j = 0; j < p; j++) cout << arr[k];
        }
        for (int k = v[i]; k < 10; k++) {
          for (int j = 0; j <= p; j++) cout << arr[k];
        }
        return 0;
      }
    }
  }
  return 0;
}
