def find_k(M): low = 0 high = 200000 # Arbitrary large value to cover possible k for M up to 1e12 k_max = 0 while low <= high: mid = (low + high) // 2 t = mid * (mid + 1) * (mid + 2) // 6 if t <= M: k_max = mid low = mid + 1 else: high = mid - 1 return k_max def construct_string(M): if M == 0: return 'kudamakitsukasa' k = find_k(M) while True: M_prime = M - k * (k + 1) * (k + 2) // 6 a = k * (k + 1) // 2 if a == 0: break # This case only when k=0, which is handled above if M_prime % a == 0: t = M_prime // a break else: k -= 1 if k < 0: break return 'con' * k + 'n' * t M = int(input()) print(construct_string(M))