class CaesarCipher
  def initialize(str)
    @str_arr = str.split(" ")
    @answer = []
    @alphabet = ("a".."z").to_a
    @first_words = ["the", "this", "that"]

  end

  def decipher
    first_word = @str_arr.first.split("").map{|c| c.ord - "a".ord}
    temp = []
    step_number = 0
    1.step(25, 1) do |i|
      temp = first_word.map{|c, s = i| @alphabet[c - i]}

      if @first_words.include?(temp.join(""))
        step_number = i
        break
      end
    end
    @str_arr.length.times do |i|
      @answer.push @str_arr[i].split("").map {|c, s = step_number|
        if c != "."
          @alphabet[c.ord - "a".ord - s]
        else
          c
        end
      }.join("")
    end
    @answer.join(" ")
  end
end

line = gets.chomp
caesar_cipher = CaesarCipher.new(line)
puts caesar_cipher.decipher