
def encodeLetter(c):
    if 'a' <= c and c <= 'z':
        c1 = chr( ord(c) + 3 )
        if c1 > 'z':
            c1 = chr( ord(c1) - 26 )
        return c1
    elif 'A' <= c and c <= 'Z':
        c1 = chr( ord(c) + 3 )
        if c1 > 'Z':
            c1 = chr( ord(c1) - 26 )
        return c1
    else:
        return c

def decodeLetter(c):
    if 'a' <= c and c <= 'z':
        c1 = chr( ord(c) - 3 )
        if c1 < 'a':
            c1 = chr( ord(c1) + 26 )
        return c1
    elif 'A' <= c and c <= 'Z':
        c1 = chr( ord(c) - 3 )
        if c1 < 'A':
            c1 = chr( ord(c1) + 26 )
        return c1
    else:
        return c
    
def encode(s):
    answer = ""
    for c in s:
        c1 = encodeLetter(c)
        answer = answer + c1
    return answer

def decode(s):
    answer = ""
    for i in range(0, len(s)):
        c = s[i]
        c1 = decodeLetter(c)
        answer = answer + c1
    return answer
def main():
    string = raw_input( "Enter a string to encode: " )
    encodedString = encode(string)
    print "That encodes as '%s'" % encodedString
    decodedString = decode(encodedString)
    print "The encoding decodes as '%s'" % decodedString
    

main()
