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')
    a, b = map(int, stdin.readline().split())
    if a * b % 2 == 0:
        print("Even")
    else:
        print("Odd")
'''


Measured memory_bytes: 4948