import bz2, base64 exec bz2.decompress(base64.b64decode('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'))