Karl likes Codeforces and subsequences. He wants to find a string of lowercase English letters that contains at least $k$ subsequences codeforces. Out of all possible strings, Karl wants to find a shortest one.

Formally, a codeforces subsequence of a string $s$ is a subset of ten characters of $s$ that read codeforces from left to right. For example, codeforces contains codeforces a single time, while codeforcesisawesome contains codeforces four times: codeforcesisawesome, codeforcesisawesome, codeforcesisawesome, codeforcesisawesome.

Help Karl find any shortest string that contains at least $k$ codeforces subsequences.


-----Input-----

The only line contains a single integer $k$ ($1 \leq k \leq 10^{16})$.


-----Output-----

Print a shortest string of lowercase English letters that contains at least $k$ codeforces subsequences. If there are several such strings, print any of them.


-----Examples-----
Input
1

Output
codeforces

Input
3

Output
codeforcesss

Difficulty: interview

Starter code:

Solutions:
k = int(input())
codeforces = "codeforces"
ans = [1 for _ in range(len(codeforces))]
i = 0
tot = 1
while tot < k:
    tot //= ans[i]
    ans[i] += 1
    tot *= ans[i]
    i += 1
    i %= len(codeforces)
for i in range(len(codeforces)):
    print(codeforces[i] * ans[i], end = "")
print()


import sys
readline = sys.stdin.readline
K = int(readline())

S = 'codeforces'

arr = [1]*10

for _ in range(1000):
    res = 1
    for a in arr:
        res *= a
    if res >= K:
        break
    arr[arr.index(min(arr))] += 1
    
    

ans = ''
for i in range(10):
    ans = ans + S[i]*arr[i]

print(ans)

from math import floor
k = int(input())
arr = [floor(k**(1/10))] * 10
def prod(arr):
    acc = 1
    for e in arr:
        acc *= e
    return acc
for i in range(len(arr)):
    if prod(arr) >= k:
        break
    arr[i] += 1 
print("".join([arr[i]*"codeforces"[i] for i in range(10)]))


from collections import defaultdict as dd
from collections import deque
import bisect
import heapq

def ri():
    return int(input())

def rl():
    return list(map(int, input().split()))


def solve():
    n = ri()
    word = 'codeforces'
    mult = [1] * 10
    count = 1
    i = -1
    while count < n:
        i = (i + 1) % 10
        mult[i] += 1
        count = (count // (mult[i] - 1)) * mult[i]
    out = ""
    for i in range(10):
        out += word[i] * mult[i]

    print (out)





mode = 's'

if mode == 'T':
    t = ri()
    for i in range(t):
        solve()
else:
    solve()


from math import *

def rr(t):
    zzz = [t(i) for i in input().split()]
    if len(zzz) == 1:
        return zzz[0]
    return zzz

def r3(t):
    return [t(i) for i in input()]

k = int(input())
cnt = 1
s = [i for i in 'codeforces']
ts = [1 for i in s]
ci = 0
while cnt < k:
    cnt = cnt * (ts[ci] + 1) // ts[ci]
    ts[ci] += 1
    ci = (ci + 1) % len(s)

for i in range(len(ts)):
    print(s[i]*ts[i], end='')
print()


s = 'codeforces'
a = [1] * len(s)
ans, cp, n = 1, 0, len(s)
k = int(input())
while ans < k:
    ans = ans // a[cp]
    a[cp] += 1
    ans *= a[cp]
    cp = (cp + 1) % n
print(''.join([s[x] * y for x, y in enumerate(a)]))


from math import *
from random import *
s = "codeforces"
n = len(s)
k = int(input())
cnt = [1 for i in range(n)]
mlt = 1
pos = 0
while mlt < k:
    mlt //= cnt[pos]
    cnt[pos] += 1
    mlt *= cnt[pos]
    pos += 1
    if pos >= n:
        pos -= n
for i in range(n):
    for j in range(cnt[i]):
        print(s[i], end='')

import sys
input = sys.stdin.readline
k=int(input())
w="codeforces"
nums=[1]*10
prod=1
i=0
while prod<k:
    prod//=nums[i]
    nums[i]+=1
    prod*=nums[i]
    i+=1
    if i==10:
        i=0
sol=""
for i in range(10):
    for j in range(nums[i]):
        sol+=w[i]
print(sol)

import sys
input = sys.stdin.readline

k=int(input())
S="codeforces"
ANS=[1]*10
NOW=1
ind=0
while NOW<k:
    ANS[ind]+=1
    NOW=NOW*ANS[ind]//(ANS[ind]-1)
    ind=(ind+1)%10

for i in range(10):
    print(S[i]*ANS[i],end="")
print()


k = int(input())

def product(s):
    res = 1
    for e in s:
        res *= e
    return res

string = "codeforces"
nums = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
index = 0
while True:
    p = product(nums)
    if p < k:
        nums[index] += 1
        index = (index + 1) % len(nums)
    else:
        break

result = ""
for i, e in enumerate(nums):
    result += e * string[i]

print(result)


k=int(input())
s='codeforces'
a=[1]*10
ans=1
pointer=0
while ans<k:
    ans=ans//a[pointer]
    a[pointer]+=1
    ans=ans*a[pointer]
    pointer=(pointer+1)%10
ans1=[]
for i in range(10):
    for j in range(a[i]):
        ans1.append(s[i])
print(''.join(ans1))


from functools import reduce

n = int(input())
s = 'codeforces'

c = [0] * len(s)
ci = 0

while reduce(int.__mul__, c) < n:
    c[ci] += 1
    ci += 1
    ci %= len(s)

x = ''

for j, i in enumerate(s):
    print(i * c[j], end='')