import Data.Char
import Data.List

fukugou :: Int -> [String] -> String
fukugou n x
  | or $ map (flip isInfixOf (concat $ map (map (chr . subtract n . ord)) x)) ["this", "the", "that"] = (++ ".") $ unwords $ map (map (chr . subtract n . ord)) x
  | otherwise =	fukugou	(n+1) x

solve :: [[String]] -> [String]
solve [] = []
solve (x:xs) = fukugou 0 x : solve xs

main = getContents >>= mapM_ putStrLn . solve . map (words . init) . lines