MAX = 100000000 def bsearch(min, max, target): while min < max: middle = (min + max) // 2 if middle == target: return middle elif middle < target: min = middle + 1 elif target < middle: max = middle -1 else: return -1 def encode(p, q, negative): code = [] count = p // 2 rest = p % 2 for i in range(count): code.append('c') code.append('c') code.append('C') if rest: if 2 < count: code.append('c') code.append('C') else: code.append('c') count = q // 2 rest = q % 2 for i in range(count): code.append('w') code.append('w') code.append('C') if rest: if 2 < count: code.append('w') code.append('C') else: code.append('w') if negative: code.append('W') else: code.append('C') return ''.join(code) X,Y,Z = list(map(int, input().split())) # p * X + q * Y = Z coef = None negative = False for p in range(MAX+1): rest = Z - p * X if rest % Y == 0: target = rest // Y if target < 0: negative = True q = bsearch(0, MAX+1, abs(target)) if q != -1: coef = (p,q) break if coef: p,q = coef code = encode(p, q, negative) if 10000 < len(code): print('NO') else: print(code) else: print('NO')