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