Go: package main

import (
	"bufio"
	"fmt"
	"os"
	"strings"
)

var scanner = bufio.NewScanner(os.Stdin)

func nextString() string {
	scanner.Scan()
	return scanner.Text()
}

func incrementByte(b byte) byte {
	if b >= 97 && b < 122 {
		return b + 1
	} else if b == 122 {
		return 97
	}
	return b
}

func main() {
	scanner.Split(bufio.ScanLines)

	for {
		line := nextString()
		if len(line) == 0 {
			break
		}
		for i := 0; i <= 26; i++ {
			decoded := []byte{}
			for j := 0; j < len(line); j++ {
				decoded = append(decoded, incrementByte(line[j]))
			}
			line = string(decoded)
			if strings.Contains(line, "the") || strings.Contains(line, "this") || strings.Contains(line, "that") {
				fmt.Println(line)
				break
			}
		}
	}
}

Python: import string
def cipher(s, i):
    if s in string.ascii_lowercase:
        return string.ascii_lowercase[(ord(s) - ord('a')+ i) % 26]
    elif s in string.ascii_uppercase:
        return string.ascii_uppercase[(ord(s) - ord('A')+ i) % 26]
    else:
        return s

def decode(s, i):
    return ''.join([cipher(x, i) for x in s])

while True:
    try:
        sent = input().split()
    except:
        break

    for i in range(26):
        si = [decode(s, i) for s in sent]
        if 'the' in si or 'this' in si or 'that' in si:
            print(' '.join(si))

Python: import sys
import string
f = sys.stdin

sentence = ''.join([line for line in f])

ceasar1 = str.maketrans(string.ascii_lowercase, string.ascii_lowercase[1:] + string.ascii_lowercase[:1])
for i in range(len(string.ascii_lowercase)):
    sentence = sentence.translate(ceasar1)
    for word in ['the', 'this', 'that']:
        if sentence.find(word) != -1:
            print(sentence, end='')
            break

Python: import string


def check_exists(word_set, rotate_dict, search):
    for word in word_set:
        rotated_word = ''.join(rotate_dict[s] for s in word)
        if rotated_word == search:
            return True
    return False


s0 = input().strip()
alphabets = string.ascii_lowercase
frequency = sorted([(s0.count(s), ord(s)) for s in alphabets], reverse=True)
freq_chr_offset = (4, 0, 19, 8, 14)
ss = s0.strip('.').split()
sl3, sl4 = set(s for s in ss if len(s) == 3), set(s for s in ss if len(s) == 4)

i, rotate_dict = 0, None
for t in frequency:
    for o in freq_chr_offset:
        i = 97 + o - t[1]
        rotate_dict = {a: b for a, b in zip(alphabets, alphabets[i:] + alphabets[:i])}
        if (check_exists(sl3, rotate_dict, 'the')
                + check_exists(sl4, rotate_dict, 'this')
                + check_exists(sl4, rotate_dict, 'that')) > 0:
            break
    else:
        continue
    break

print(''.join(rotate_dict[s] if s.isalpha() else s for s in s0))

Python: import sys
a='abcdefghijklmnopqrstuvwxyz'
for b in sys.stdin:
 for i in range(26):
  c=''.join(a[ord(e)-97-i]if e in a else e for e in b)
  if any(('the'in c,'this'in c,'that'in c)):print(c.strip())

Python: import sys

data = sys.stdin.read()
words = list('abcdefghijklmnopqrstuvwxyz')
txt = ''
for sft in range(1,len(words)):
    txt = ''.join([words[words.index(c) - len(words) + sft] if c in words else c for c in data])
    if 'the' in txt.split(' ') or 'this' in txt.split(' ') or 'that' in txt.split(' '):
        break
print(txt)

Python: def main():
    ex =[ord(".")]
    answer = ""
    while True:
        try:
            words = input().split()
        except:
            break
        bl = False
        for i in range(1,26):
            ans = ""
            for word in words:
                s = ""
                for string in word:
                    os = ord(string)
                    if os in ex:
                        s = s + string
                    else:
                        if os - i < 97:
                            s += chr(122 - (97 - (os - i)))
                        else:
                            s += chr(os - i)
                if s in ("the", "this", "that", "the.", "this.", "that."):
                  bl = True
                ans += " " + s
            if bl:
                break
        answer.append(ans[1::])
    print(*answer, sep="\n")

if __name__ == "__main__":
    main()

Python: 
import string
def CaesarCipher():
    
    low=str.ascii_lowercase
    
    for cry in sys.stdin: 
        for i in range(1,27):
            
            dec=cry.translate(str.maketrans(low,low[i:]+low[:i]))
    
            if 'this' in dec or 'that' in dec or 'the' in dec:
                print(dec)
            
                
    
CaesarCipher()

Python: import sys
for b in sys.stdin:
 for i in range(26):
  c=''.join([e,chr((ord(e)-96+i)%26+97)][96<ord(e)<123]for e in b)
  if any(('the'in c,'this'in c,'that'in c)):print(c.strip())

Python: import sys

def caesarshift(sentence):
    abc = "abcdefghijklmnopqrstuvwxyz"
    bcd = abc[1:] + "a"
    return sentence.translate(str.maketrans(abc, bcd))

for line in sys.stdin:
    sentence = line
    while True:
        if "the" in sentence or "this" in sentence or "that" in sentence:
            break
        sentence = caesarshift(sentence)
    print(sentence)

Python: #!/usr/bin/env python
import sys
import re

def move(char, num):
    if ord(char) + num <= ord('z'):
        return ord(char) + num
    else:
        return ord(char) + num - (ord('z') - ord('a') + 1)

def shift(s, num):
    new = ""
    for i in range(0, len(s)):
        if s[i].isalpha():
            new += str(chr(move(s[i], num)));
        else:
            new += s[i]
    return new

def decrypt(s):
    for i in range(0, 26):
        decrypted = shift(s, i)
        if re.search('the|this|that', decrypted):
            return decrypted

if __name__ == '__main__':
    lines = []
    for line in sys.stdin:
        lines.append(line)
    for line in lines:
        print(decrypt(line), end="")

Python: import sys


def decrypt(c, i):
    """ ????????¶????????? """
    if c.isalpha():
        t = ord(c) - i
        if t < ord('a'):
            t = ord('z') - i + 1
        return chr(t)
    else:
        return c


if __name__ == '__main__':
    # ??????????????\???
    for line in sys.stdin:

        # ?????????????????????
        found = ''  # ?????????????????????
        for i in range(1, 25):
            decrypted = ''.join([decrypt(x, i) for x in line])
            # print(decrypted)
            if 'the' in decrypted or 'this' in decrypted or 'that' in decrypted:
                found = decrypted
                break

        # ???????????????
        if found:
            print(found)

Python: import sys
def _rot(c, i):
    if ord("a") < ord(c) and ord(c) < ord("z"):
        return chr((ord(c) - ord("a") + i) % 26 + ord("a"))
    if ord("A") < ord(c) and ord(c) < ord("Z"):
        return chr((ord(c) - ord("A") + i) % 26 + ord("A"))
    return c
def rot(str,i):
    g=[_rot(c,i) for c in str]
    return "".join(g)

def caesar(str):
    for i in range(26):
       test = rot(str,i).split()
       if ("this" in test) or ("that" in test) or ("the" in test):
           return " ".join(test)
    return "nan"

a = []
for line in sys.stdin:
    a.append(line.rstrip())
for i in range(len(a)):
    print(caesar(a[i]))

Python: import sys
for line in sys.stdin:
    for i in range(26):
        search = ""
        for idx in line:
            if 97 <= ord(idx) <= 122:
                if ord(idx) + i <= 122:
                    search += chr(ord(idx) + i)
                else:
                    search += chr(ord(idx) + i - 26)
            else:
                search += idx
        if 'the' in search or 'this' in search or 'that' in search:
            print(search)
    else:
        continue
    break