import Data.Char
import Data.List

charRot ch n = case ch of
                _ | isUpper ch -> chr(((ord ch)+n-65)`mod`26+65)
                  | isLower ch -> chr(((ord ch)+n-97)`mod`26+97)
                  | otherwise  -> ch

strRots str = [r|n<-[1..26], let r = map (`charRot` n) str, isInfixOf "the" r]

main = do{
    getContents>>=mapM_ putStrLn.map (concat.strRots.(map toLower)).lines
}