Buggy python submission (verdict: Runtime Error):
dic=[{} for i in range(26)]
alpha = "abcdefghijklmnopqrstuvwxyz"

def makedic():
    for i in range(26):
        tmp = alpha[i:]+alpha[:i]
        for j in range(26):
            dic[i][alpha[j]]=tmp[j]
    return

def crack(word):
    for i in range(26):
        s=[]
        for c in word:
            s.append(dic[i][c])
        s="".join(s)
        if s=="the" or s=="this" or s=="that":
            return i
    return None

makedic()
while True:
    try:
        s = raw_input()
    except:
        break

    for e in s.split():
        lene=len(e)
        if lene==3 or lene==4:
            offset = crack(e)
            break
    x = []
    for c in s:
        if "a"<=c and c<="z": x.append(dic[offset][c])
        else: x.append(c)
    print "".join(x)

Fixed submission:
import sys,string
A="abcdefghijklmnopqrstuvwxyza"
tbl=string.maketrans(A[:-1],A[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):
# coding: utf-8

#Q003 Largest prime factor

#import math#,sys,time
#import numpy as np
   
#start_time = time.clock()


dic=[{} for i in range(26)]
alpha = "abcdefghijklmnopqrstuvwxyz"

def makedic():
    for i in range(26):
        tmp = alpha[i:]+alpha[:i]
        for j in range(26):
            dic[i][alpha[j]]=tmp[j]
    return

def crack(word):
    for i in range(26):
        s=[]
        for c in word:
            s.append(dic[i][c])
        s="".join(s)
        if s=="the" or s=="this" or s=="that":
            return i
    return None


makedic()
while True:
    try:
        s = raw_input()
    except:
        break

    for e in s.split():
        lene=len(e)
        if lene==3 or lene==4:
            offset = crack(e)
            break
    x = []
    for c in s:
        if "a"<=c and c<="z": x.append(dic[offset][c])
        else: x.append(c)
    print "".join(x)
        
#print time.clock() - start_time, "seconds"

Fixed submission:
import sys,string
A="abcdefghijklmnopqrstuvwxyza"
tbl=string.maketrans(A[:-1],A[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):
dic=[{} for i in range(26)]
alpha = "abcdefghijklmnopqrstuvwxyz"

def makedic():
    for i in range(26):
        tmp = alpha[i:]+alpha[:i]
        for j in range(26):
            dic[i][alpha[j]]=tmp[j]
    return

def crack(word):
    for i in range(26):
        s=[]
        for c in word:
            s.append(dic[i][c])
        s="".join(s)
        if s=="the" or s=="this" or s=="that":
            return i
    return None

makedic()
while True:
    try:
        s = raw_input().strip('\n')
    except:
        break

    for e in s.split():
        lene=len(e)
        if lene==3 or lene==4:
            offset = crack(e)
            break
    x = []
    for c in s:
        if "a"<=c and c<="z": x.append(dic[offset][c])
        else: x.append(c)
    print "".join(x)

Fixed submission:
import sys,string
A="abcdefghijklmnopqrstuvwxyza"
tbl=string.maketrans(A[:-1],A[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):
import sys
dic=[{} for i in range(26)]
alpha = "abcdefghijklmnopqrstuvwxyz"

def makedic():
    for i in range(26):
        tmp = alpha[i:]+alpha[:i]
        for j in range(26):
            dic[i][alpha[j]]=tmp[j]
    return

def crack(word):
    for i in range(26):
        s=[]
        for c in word:
            s.append(dic[i][c])
        s="".join(s)
        if s=="the" or s=="this" or s=="that":
            return i
    return None

makedic()
while True:
    try:
        s = raw_input().strip('\n')
    except:
        break

    for e in s.split():
        lene=len(e)
        if lene==3 or lene==4:
            offset = crack(e)
            break
    x = []
    for c in s:
        if "a"<=c and c<="z": x.append(dic[offset][c])
        else: x.append(c)
    print "".join(x)

Fixed submission:
import sys,string
A="abcdefghijklmnopqrstuvwxyza"
tbl=string.maketrans(A[:-1],A[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):
def rot(s):
    x=""
    for c in s:
        tmp = ord(c)-ord("a")
        if "a"<=c<="z":
            x += chr((tmp+1) % 26 + ord("a"))
        else:
            x += c
    return x
    
def check(s):
    for word in s.split():
        if word=="the" or word=="this" or word=="that":
            return True
    else return False

while True:
    try:
        s = raw_input()
        f = False
        for i in range(26):
            if check(s):break
            else: s=rot(s)
        print s
    except:
        break

Fixed submission:
import sys,string
A="abcdefghijklmnopqrstuvwxyza"
tbl=string.maketrans(A[:-1],A[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):
import sys
def rot(s):
  A="abcdefghijklmnopqrstuvwxyza"
  x=""
  for c in s:
    try:x+=A[A.index(c)+1]
    except:x+=c
  return x
w=["the","that","this"]
for l in sys.stdin.readlines():
  c=0
  f=1
  while f:
    for i in range(3):
      if w[i] in s:
        f=0
        break
      else:w[i]=rot(w[i])
    else:c+=1
  while c-26:
    s=rot(s)
    c+=1
  print s[:-1]

Fixed submission:
import sys,string
A="abcdefghijklmnopqrstuvwxyza"
tbl=string.maketrans(A[:-1],A[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):
import sys
def decode(s):
    x=""
    for c in s:
        if c in " .":
            x+=c
        else:
            x+=chr(ord(c)+1)
    return x.replace(chr(ord("z")+1),"a")

for s in sys.stdin.readlines():
    for i in xrange(ord("z")-ord("a")+1):
        if "the" in s or "that" in s or "this" in s:
            print s[:-1]
            break
      s=decode(s)

Fixed submission:
import sys,string
A="abcdefghijklmnopqrstuvwxyza"
tbl=string.maketrans(A[:-1],A[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):
import sys
A="abcdefghijklmnopqrstuvwxyza"
def decode(s):
    x=""
    for c in s:
        if c in " .": x+=c
        else: x+=A[A.index(c)+1)
    return x

for s in sys.stdin.readlines():
    for i in range(26):
        if "the" in s or "that" in s or "this" in s:break
        s=decode(s)
print s[:-1]

Fixed submission:
import sys,string
A="abcdefghijklmnopqrstuvwxyza"
tbl=string.maketrans(A[:-1],A[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):
import sys
A="abcdefghijklmnopqrstuvwxyza"
def decode(s):
    x=""
    for c in s:
        if c in " .": x+=c
        else: x+=A[A.index(c)+1]
    return x

for s in sys.stdin.readlines():
    for i in range(26):
        if "the" in s or "that" in s or "this" in s:break
        s=decode(s)
print s[:-1]

Fixed submission:
import sys,string
A="abcdefghijklmnopqrstuvwxyza"
tbl=string.maketrans(A[:-1],A[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]