def sumOfValuesOfCharacters(s: str) -> int: return sum([ord(c) - 65 for c in s]) def rotateString(s: str, r: int) -> str: return "".join([chr(((ord(c) - 65 + r) % 26) + 65) for c in s]) def mergeStrings(a: str, b: str) -> str: return "".join( [rotateString(ca, sumOfValuesOfCharacters(cb)) for ca, cb in zip(a, b)] ) def decrypt(drmmessage): half = len(drmmessage) // 2 a, b = drmmessage[:half], drmmessage[half:] rota = rotateString(a, sumOfValuesOfCharacters(a)) rotb = rotateString(b, sumOfValuesOfCharacters(b)) return mergeStrings(rota, rotb) print(decrypt(input()))