proc even(n: int): bool
proc odd(n: int): bool =
assert(n
>= 0) # nが負数になり無限ループする事がない事を保証する if n == 0: false
else:
n == 1 or even(n-1)
proc even(n: int): bool =
assert(n
>= 0) # nが負数になり無限ループする事がない事を保証する if n == 1: false
else:
n == 0 or odd(n-1)
cHJvYyBldmVuKG46IGludCk6IGJvb2wKCnByb2Mgb2RkKG46IGludCk6IGJvb2wgPQogIGFzc2VydChuID49IDApICMgbuOBjOiyoOaVsOOBq+OBquOCiueEoemZkOODq+ODvOODl+OBmeOCi+S6i+OBjOOBquOBhOS6i+OCkuS/neiovOOBmeOCiwogIGlmIG4gPT0gMDogZmFsc2UKICBlbHNlOgogICAgbiA9PSAxIG9yIGV2ZW4obi0xKQoKcHJvYyBldmVuKG46IGludCk6IGJvb2wgPQogIGFzc2VydChuID49IDApICMgbuOBjOiyoOaVsOOBq+OBquOCiueEoemZkOODq+ODvOODl+OBmeOCi+S6i+OBjOOBquOBhOS6i+OCkuS/neiovOOBmeOCiwogIGlmIG4gPT0gMTogZmFsc2UKICBlbHNlOgogICAgbiA9PSAwIG9yIG9kZChuLTEpCgo=