# -*- coding: UTF-8 -*-
import bz2
import Image
import string
zigzag = Image.open('zigzag.gif')
#
zigstr = zigzag.tostring()
#
palette = zigzag.palette.getdata()[1][::3]
#
#
transtable = string.maketrans(''.join([chr(i) for i in xrange(256)]), palette)
#
zigtrans = zigstr.translate(transtable)
#
ziglen = len(zigstr)
diffs = [(zigstr[i], zigtrans[i - 1])
for i in xrange(1, ziglen) if zigstr[i] != zigtrans[i - 1]]
diffs_first = ''.join([p[0] for p in diffs])
diffs_second = ''.join([p[1] for p in diffs])
#diffs_first bz2 bz2
content = bz2.decompress(diffs_first)
#contentpython
#
im=Image.new('1', zigzag.size, 0)
im.putdata([zigstr[i] == zigtrans[i - 1] for i in xrange(1, ziglen)])
im.save('27.jpg')
#contentpython
words = list(set(content.split()))
py_key_words = ['and', 'elif', 'global', 'or', 'yield', 'assert', 'else', 'if',
'pass', 'break', 'except', 'import', 'print', 'class', 'exec',
'in', 'raise', 'continue', 'finally', 'is', 'return', 'def',
'for', 'lambda', 'try', 'del', 'from', 'not', 'while']
result = [w for w in words if w not in py_key_words]
print result