import math def find_k(M): approx = (6 * M) ** (1/3) k = int(approx) for delta in [-1, 0, 1]: current_k = k + delta if current_k < 0: continue if current_k * (current_k + 1) * (current_k + 2) // 6 == M: return current_k return None def minimal_abc(M): min_sum = float('inf') best = (1, 1, M) max_a = int(math.isqrt(M)) + 1 for a in range(1, max_a + 1): if M % a != 0: continue q = M // a b = int(math.isqrt(q)) for delta in [-1, 0, 1]: current_b = b + delta if current_b <= 0: continue if q % current_b != 0: continue current_c = q // current_b current_sum = a + current_b + current_c if current_sum < min_sum: min_sum = current_sum best = (a, current_b, current_c) return best def main(): M = int(input().strip()) if M == 0: print("kudamakitsukasa") return k = find_k(M) if k is not None: s = "con" * k print(s) return a, b, c = minimal_abc(M) s = 'c' * a + 'o' * b + 'n' * c print(s) if __name__ == "__main__": main()