import sys
from functools import reduce

c=lambda w,n:reduce(lambda a,b:a+b,[chr((ord(x)-97+n)%26+97)if x.isalpha() else x for x in w])

for i in sys.stdin:

	n=0

	for s in i.replace(".","").split():

		r=c(s,116-ord(s[0]))

		m=len(s)

		if m==3 and"the"==r or m==4 and r in["this","that"]:n=116-ord(s[0])

	print(c(i,n).replace("\n",""))
import sys,re

c=lambda w,n:"".join([chr((ord(x)-97+n)%26+97)if x.isalpha()else x for x in w])

for i in sys.stdin:

	n=0

	while not re.search("th(e|is|at)",c(i,n)):n+=1

	print(c(i,n).strip())
import sys
from functools import reduce

c = lambda w, n: reduce(
    lambda a, b: a + b,
    [chr((ord(x) - 97 + n) % 26 + 97) if x.isalpha() else x for x in w],
)
for i in sys.stdin:
    n = 0
    for s in i.replace(".", "").split():
        r = c(s, 116 - ord(s[0]))
        m = len(s)
        if m == 3 and "the" == r or m == 4 and r in ["this", "that"]:
            n = 116 - ord(s[0])
    print(c(i, n).replace("\n", ""))

import sys, re

c = lambda w, n: "".join(
    [chr((ord(x) - 97 + n) % 26 + 97) if x.isalpha() else x for x in w]
)
for i in sys.stdin:
    n = 0
    while not re.search("th(e|is|at)", c(i, n)):
        n += 1
    print(c(i, n).strip())

-import sys -from functools import reduce +import sys, re -c = lambda w, n: reduce( -    lambda a, b: a + b, -    [chr((ord(x) - 97 + n) % 26 + 97) if x.isalpha() else x for x in w], +c = lambda w, n: "".join( +    [chr((ord(x) - 97 + n) % 26 + 97) if x.isalpha() else x for x in w] -    for s in i.replace(".", "").split(): -        r = c(s, 116 - ord(s[0])) -        m = len(s) -        if m == 3 and "the" == r or m == 4 and r in ["this", "that"]: -            n = 116 - ord(s[0]) -    print(c(i, n).replace("\n", "")) +    while not re.search("th(e|is|at)", c(i, n)): +        n += 1 +    print(c(i, n).strip())