def calc_pattern(str)
    head = str[0].ord
    result = ""
    str.each_byte do |c|
        result += (c - head).to_s
    end
    result
end

pattern = [calc_pattern("this"), calc_pattern("that"), calc_pattern("the")]

while s = gets do
    shift = 0
    s.split.each do |str|
        tmp = calc_pattern str
        pattern.each do |p|
            if tmp.include? p.to_s then
                shift = (str[0].ord - 't'.ord)
                break
            end
        end
    end

    ans = ""
    s.split.each do |w|
        w.each_byte do |b|
            c = ''
            if 'A'.ord <= b && b <= 'z'.ord then
                c = (b - shift).chr
            else
                c = b.chr
            end
            ans += c
        end
        ans += ' '
    end
    puts ans.rstrip
end