import Control.Monad
import Data.Char
import Data.List

main :: IO ()
main = do
  ls <- lines <$> getContents
  forM_ ls $ \l -> putStrLn $ head $ filter (\s -> "the" `isInfixOf` s || "this" `isInfixOf` s || "that" `isInfixOf` s) $ map (shift l) [1..26]

shift :: String -> Int -> String
shift s n = map (\ch -> if isAlpha ch then chr ((ord ch-ord 'a'+n)`mod`26+ord 'a') else ch) s