_ = lambda __ : __import__('zlib').decompress(__import__('base64').b64decode(__[::-1])); exec((_)(b'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'))