CPLIB_MATH_INNER_MATH = 1
proc add(a, b, m: int): int {.importcpp: "((__int128)(#) + (__int128)(#)) % (__int128)(#)", nodecl, ...raises: [], tags: [].}
proc mul(a, b, m: int): int {.importcpp: "(__int128)(#) * (__int128)(#) % (__int128)(#)", nodecl, ...raises: [], tags: [].}