#!/usr/bin/python2
import zlib, base64
exec(zlib.decompress(base64.b64decode('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')))
