import sys
available = [0,0,0,0,0,0,0,0,0,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,8,8,5,5,6,5,8,8,8,7,7,8,8,8,7,7,7,7,7,7,7,7,7,7,7,8,8,7,7,7,8,6,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,5,7,6,5,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,5,7,6,0]
def alfa_test(text, c, strong):
text = crypt(text, c)
for d in text:
if(ord(d)>=128 or available[ord(d)]<strong):
return False
return True
def decrypt(text):
lst = []
for i in range(0, 256):
lst.append(True)
lst2 = list(lst)
for j in range(0,11):
for i in range(0, 256):
if(not alfa_test(text, i, j)):
lst[i] = False
if True in lst:
for i in range(0, 256):
lst2[i] = lst[i];
else: break
for i in range(0, 256):
if lst2[i]:
return crypt(text, i)
return None
def crypt(text, num):
res = []
reslen = len(text)
for i in range(0, reslen):
res.append(chr((ord(text[i]) + num)%256));
return "".join(res)
def main():
text = sys.stdin.read()
print(decrypt(crypt(text, 123)))
main()