···11+import fileinput
22+33+44+def generate_data(data, size):
55+ def dragon(a):
66+ b = ''.join('1' if c == '0' else '0' for c in a)
77+ return a + '0' + b[::-1]
88+99+ while len(data) < size:
1010+ data = dragon(data)
1111+1212+ return data[:size]
1313+1414+1515+def checksum(s):
1616+ def checksum_iteration(s):
1717+ tmp = []
1818+ for a, b in zip(s[::2], s[1::2]):
1919+ tmp.append('1' if a == b else '0')
2020+2121+ return ''.join(tmp)
2222+2323+ res = checksum_iteration(s)
2424+2525+ while len(res) % 2 == 0:
2626+ res = checksum_iteration(res)
2727+2828+ return res
2929+3030+3131+if __name__ == '__main__':
3232+ data = fileinput.input()[0].strip()
3333+ print 'Checksum #1:', checksum(generate_data(data, 272))
3434+ print 'Checksum #2:', checksum(generate_data(data, 35651584))