while s = gets do
  f = false
  s = s.split(" ")
  26.times do
    s.length.times do |i|
      s[i].size.times do |j|
        break if  'z' <  s[i][j] || s[i][j] < 'a'
        s[i][j] = (s[i][j].ord + 1).chr
        s[i][j] = 'a' if s[i][j] > 'z'
      end
      f = true if s[i] == "the" || s[i] == "this" || s[i] == "that"
    end
    break if f
  end
  s.length.times do |i|
    print s[i].to_s + " "
  end
  puts s[s.length + 1].to_s
end