from sys import exit
ROT13 = 13
ROT5 = 5
lettersU = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
lettersD = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
numbers = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']
def getEncIndex(in_array, begin_index):
end_index = begin_index + ROT13
if end_index >= len(in_array):
shift = end_index - (len(in_array) - 1)
end_index = -1 + shift
return end_index
def crypt(in_array, sign):
begin_index = in_array.index(sign)
end_index = getEncIndex(in_array, begin_index)
return in_array[end_index]
x = ""
y = ""
while 1 == 1:
try:
inp = input()
if x == "":
x = inp
else:
x+= "\n" + inp
except EOFError:
break
if x == "":
print(x)
exit()
for i in x:
if i in lettersU:
y += crypt(lettersU, i)
elif i in lettersD:
y += crypt(lettersD, i)
elif i in numbers:
y += crypt(numbers, i)
else:
y += i
print(y)
ZnJvbSBzeXMgaW1wb3J0IGV4aXQKClJPVDEzID0gMTMKUk9UNSA9IDUKCmxldHRlcnNVID0gWydBJywgJ0InLCAnQycsICdEJywgJ0UnLCAnRicsICdHJywgJ0gnLCAnSScsICdKJywgJ0snLCAnTCcsICdNJywgJ04nLCAnTycsICdQJywgJ1EnLCAnUicsICdTJywgJ1QnLCAnVScsICdWJywgJ1cnLCAnWCcsICdZJywgJ1onXQpsZXR0ZXJzRCA9IFsnYScsICdiJywgJ2MnLCAnZCcsICdlJywgJ2YnLCAnZycsICdoJywgJ2knLCAnaicsICdrJywgJ2wnLCAnbScsICduJywgJ28nLCAncCcsICdxJywgJ3InLCAncycsICd0JywgJ3UnLCAndicsICd3JywgJ3gnLCAneScsICd6J10KbnVtYmVycyA9IFsnMScsICcyJywgJzMnLCAnNCcsICc1JywgJzYnLCAnNycsICc4JywgJzknLCAnMCddCgoKZGVmIGdldEVuY0luZGV4KGluX2FycmF5LCBiZWdpbl9pbmRleCk6CiAgCiAgZW5kX2luZGV4ID0gYmVnaW5faW5kZXggKyBST1QxMwogIGlmIGVuZF9pbmRleCA+PSBsZW4oaW5fYXJyYXkpOgogICAgc2hpZnQgPSBlbmRfaW5kZXggLSAobGVuKGluX2FycmF5KSAtIDEpCiAgICBlbmRfaW5kZXggPSAtMSArIHNoaWZ0CiAgCiAgcmV0dXJuIGVuZF9pbmRleAoKCmRlZiBjcnlwdChpbl9hcnJheSwgc2lnbik6CiAgYmVnaW5faW5kZXggPSBpbl9hcnJheS5pbmRleChzaWduKQogIGVuZF9pbmRleCA9IGdldEVuY0luZGV4KGluX2FycmF5LCBiZWdpbl9pbmRleCkKICByZXR1cm4gaW5fYXJyYXlbZW5kX2luZGV4XQoKCnggPSAiIgp5ID0gIiIKd2hpbGUgMSA9PSAxOgogIHRyeToKICAgIGlucCA9IGlucHV0KCkKICAgIGlmIHggPT0gIiI6CiAgICAgIHggPSBpbnAKICAgIGVsc2U6CiAgICAgIHgrPSAiXG4iICsgaW5wCiAgZXhjZXB0IEVPRkVycm9yOgogICAgYnJlYWsKCgppZiB4ID09ICIiOgoJcHJpbnQoeCkKCWV4aXQoKQoKZm9yIGkgaW4geDoKICBpZiBpIGluIGxldHRlcnNVOgogICAgeSArPSBjcnlwdChsZXR0ZXJzVSwgaSkKICBlbGlmIGkgaW4gbGV0dGVyc0Q6CiAgICB5ICs9IGNyeXB0KGxldHRlcnNELCBpKQogIGVsaWYgaSBpbiBudW1iZXJzOgogICAgeSArPSBjcnlwdChudW1iZXJzLCBpKQogIGVsc2U6CiAgICB5ICs9IGkKCnByaW50KHkpCgo=