Buggy python submission (verdict: Runtime Error):
alpha = list('abcdefghijklmnopqrstuvwxyz') * 2

def create_caesar(word, num):
	new_word = ""
	for s in word:
		new_word += alpha[alpha.index(s) + num]
	return new_word

check_the = [create_caesar('the', i) for i in range(26)]
check_this = [create_caesar('this', i) for i in range(26)]
check_that = [create_caesar('that', i) for i in range(26)]
set_the = set(check_the)
set_this = set(check_this)
set_that = set(check_that)

while True:
	sentence = raw_input().split()
	sentence[-1] = sentence[-1].replace('.', '')
	ans = []
	set_sentence = set(sentence)
	if len(set_sentence & set_the)!= 0:
		num = check_the.index(list(set_sentence & set_the)[0])
	elif len(set_sentence & set_this)!= 0:
		num = check_this.index(list(set_sentence & set_this)[0])
	elif len(set_sentence & set_that)!= 0:
		num = check_that.index(list(set_sentence & set_that)[0])

	for s in sentence:
		ans.append(create_caesar(s, -num))

	print " ".join(ans) + "."

Fixed submission:
import string, sys

alpha = 'abcdefghijklmnopqrstuvwxyza'
tbl = string.maketrans(alpha[:-1], alpha[1:])

for s in sys.stdin:
	while not('the' in s or 'that' in s or 'this' in s):
		s = s.translate(tbl)
	print s[:-1]

Buggy python submission (verdict: Runtime Error):
alpha = list('abcdefghijklmnopqrstuvwxyz') * 2

def create_caesar(word, num):
	new_word = ""
	if num < 0: num = 26 + num
	for s in word:
		new_word += alpha[alpha.index(s) + num]
	return new_word

check_the = [create_caesar('the', i) for i in range(26)]
check_this = [create_caesar('this', i) for i in range(26)]
check_that = [create_caesar('that', i) for i in range(26)]
set_the = set(check_the)
set_this = set(check_this)
set_that = set(check_that)

while True:
	sentence = raw_input().split()
	sentence[-1] = sentence[-1].replace('.', '')
	ans = []
	set_sentence = set(sentence)
	if len(set_sentence & set_the)!= 0:
		num = check_the.index(list(set_sentence & set_the)[0])
		tmp = check_the[num]
	elif len(set_sentence & set_this)!= 0:
		num = check_this.index(list(set_sentence & set_this)[0])
	elif len(set_sentence & set_that)!= 0:
		num = check_that.index(list(set_sentence & set_that)[0])

	for s in sentence:
		ans.append(create_caesar(s, -num))

	print " ".join(ans) + "."

Fixed submission:
import string, sys

alpha = 'abcdefghijklmnopqrstuvwxyza'
tbl = string.maketrans(alpha[:-1], alpha[1:])

for s in sys.stdin:
	while not('the' in s or 'that' in s or 'this' in s):
		s = s.translate(tbl)
	print s[:-1]

Buggy python submission (verdict: Runtime Error):
alpha = list('abcdefghijklmnopqrstuvwxyz') * 2

def create_caesar(word, num):
	new_word = ""
	if num < 0: num = 26 + num
	for s in word:
		new_word += alpha[alpha.index(s) + num]
	return new_word

check_the = [create_caesar('the', i) for i in range(26)]
check_this = [create_caesar('this', i) for i in range(26)]
check_that = [create_caesar('that', i) for i in range(26)]
set_the = set(check_the)
set_this = set(check_this)
set_that = set(check_that)

while True:
	sentence = raw_input().split()
	sentence[-1] = sentence[-1].replace('.', '')
	ans = []
	set_sentence = set(sentence)
	if len(set_sentence & set_the)!= 0:
		num = check_the.index(list(set_sentence & set_the)[0])
		tmp = check_the[num]
	elif len(set_sentence & set_this)!= 0:
		num = check_this.index(list(set_sentence & set_this)[0])
	elif len(set_sentence & set_that)!= 0:
		num = check_that.index(list(set_sentence & set_that)[0])

	for s in sentence:
		ans.append(create_caesar(s, -num))

	print " ".join(ans) + "."

Fixed submission:
import string, sys

alpha = 'abcdefghijklmnopqrstuvwxyza'
tbl = string.maketrans(alpha[:-1], alpha[1:])

for s in sys.stdin:
	while not('the' in s or 'that' in s or 'this' in s):
		s = s.translate(tbl)
	print s[:-1]

Buggy python submission (verdict: Time Limit Exceeded):
alpha = list('abcdefghijklmnopqrstuvwxyza')

def one_caesar(word):
	new_word = ""
	for s in word:
		if s == ".":
			new_word += "."
			continue
		new_word += alpha[alpha.index(s) + 1]
	return new_word

while True:
	sentence = raw_input().split()
	while 'the' not in sentence or 'that' not in sentence or 'this' not in sentence:
		for i in range(len(sentence)):
			sentence[i] = one_caesar(sentence[i])

	print " ".join(sentence)

Fixed submission:
import string, sys

alpha = 'abcdefghijklmnopqrstuvwxyza'
tbl = string.maketrans(alpha[:-1], alpha[1:])

for s in sys.stdin:
	while not('the' in s or 'that' in s or 'this' in s):
		s = s.translate(tbl)
	print s[:-1]

Buggy python submission (verdict: Time Limit Exceeded):
import string

alpha = 'abcdefghijklmnopqrstuvwxyza'
tbl = string.maketrans(alpha[:-1], alpha[1:])

while True:
	sentence = raw_input()
	while 'the' not in sentence or 'that' not in sentence or 'this' not in sentence:
		sentence = sentence.translate(tbl)

	print sentence

Fixed submission:
import string, sys

alpha = 'abcdefghijklmnopqrstuvwxyza'
tbl = string.maketrans(alpha[:-1], alpha[1:])

for s in sys.stdin:
	while not('the' in s or 'that' in s or 'this' in s):
		s = s.translate(tbl)
	print s[:-1]

Buggy python submission (verdict: Time Limit Exceeded):
import string

alpha = 'abcdefghijklmnopqrstuvwxyza'
tbl = string.maketrans(alpha[:-1], alpha[1:])

while True:
	try:
		sentence = raw_input()
		while 'the' not in sentence or 'that' not in sentence or 'this' not in sentence:
			sentence = sentence.translate(tbl)
		print sentence
	except:
		break

Fixed submission:
import string, sys

alpha = 'abcdefghijklmnopqrstuvwxyza'
tbl = string.maketrans(alpha[:-1], alpha[1:])

for s in sys.stdin:
	while not('the' in s or 'that' in s or 'this' in s):
		s = s.translate(tbl)
	print s[:-1]

Buggy python submission (verdict: Time Limit Exceeded):
import string

alpha = 'abcdefghijklmnopqrstuvwxyza'
tbl = string.maketrans(alpha[:-1], alpha[1:])

while True:
	try:
		sentence = raw_input()
		while 'the' not in sentence or 'that' not in sentence or 'this' not in sentence:
			sentence = sentence.translate(tbl)
		print sentence
	except EOFError:
		break

Fixed submission:
import string, sys

alpha = 'abcdefghijklmnopqrstuvwxyza'
tbl = string.maketrans(alpha[:-1], alpha[1:])

for s in sys.stdin:
	while not('the' in s or 'that' in s or 'this' in s):
		s = s.translate(tbl)
	print s[:-1]

Buggy python submission (verdict: Time Limit Exceeded):
import string, sys

alpha = 'abcdefghijklmnopqrstuvwxyza'
tbl = string.maketrans(alpha[:-1], alpha[1:])

for s in sys.stdin:
	while 'the' not in s or 'that' not in s or 'this' not in s:
		s = s.translate(tbl)
	print s

Fixed submission:
import string, sys

alpha = 'abcdefghijklmnopqrstuvwxyza'
tbl = string.maketrans(alpha[:-1], alpha[1:])

for s in sys.stdin:
	while not('the' in s or 'that' in s or 'this' in s):
		s = s.translate(tbl)
	print s[:-1]