object Main extends App {

  implicit class RichInts(val ints: Seq[Int]) {
    def absToRelative: Seq[Int] =
      ints.map(_ - ints.head)
  }

  case class Keyword(word: String) {
    lazy val relativeInts = word.map(_.toInt).absToRelative
    def diff(another: String) = word.head.toInt - another.head.toInt
  }
  object THIS_INTS extends Keyword("this")
  object THE_INTS extends Keyword("the")
  object THAT_INTS extends Keyword("that")
  object Keyword {
    val all: Seq[Keyword] = THIS_INTS :: THE_INTS :: THAT_INTS :: Nil
  }

  val line = readLine
  val diff: Int = line
    .split(" ")
    .toStream
    .filter(s =>
      s.length == 3 || s.length == 4 || (s.length == 5 && s.endsWith(".")))
    .map(s =>
      (if (s.length == 5) s.take(4).toString else s,
       s.map(_.toInt).absToRelative))
    .map(t => (t._1, Keyword.all.find(_.relativeInts == t._2)))
    .filter(_._2.isDefined)
    .map(t => t._2.map(_.diff(t._1)))
    .head
    .get
  val ans: String = line.map { (c: Char) =>
    if (c == ' ' || c == '\n' || c == '.') c
    else {
      (c.toInt + diff).toChar
    }
  }.toString
  println(ans)
}
