import subprocess
import gzip, base64, os
import stat

gz = b'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'
bin = gzip.decompress(base64.b64decode(gz))
p = os.path.dirname(__file__)
pymain = os.path.join(p, "a.out")
with open(pymain, "wb") as f:
    f.write(bin)
os.chmod(pymain, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR)
if p == "":
    pymain = "./" + pymain
subprocess.call(pymain)


# compiled by pythran
'''
#pythran export main2()
def main2():
    stdin = open('/dev/stdin')
    stdin.readline()
    a = [x for x in map(int, stdin.readline().split())]
    a.sort()
    print(abs(sum(a[::2]) - sum(a[1::2])))
'''


Measured memory_bytes: 5076