6SYCPWFHMHIG262IJQY4KMB3DEZ3ON247ZAVDEWHG3XVETYGRHBQC static_assert(test_div(1, 1));static_assert(test_div(1, 2));static_assert(test_div(1, 3));static_assert(test_div(2, 1));static_assert(test_div(2, 2));static_assert(test_div(2, 3));static_assert(test_div(3, 1));static_assert(test_div(3, 2));static_assert(test_div(3, 3));
static_assert(test_div_floor(1, 1));static_assert(test_div_floor(1, 2));static_assert(test_div_floor(1, 3));static_assert(test_div_floor(2, 1));static_assert(test_div_floor(2, 2));static_assert(test_div_floor(2, 3));static_assert(test_div_floor(3, 1));static_assert(test_div_floor(3, 2));static_assert(test_div_floor(3, 3));
static_assert(test_div(-1, 1));static_assert(test_div(-1, 2));static_assert(test_div(-1, 3));static_assert(test_div(-2, 1));static_assert(test_div(-2, 2));static_assert(test_div(-2, 3));static_assert(test_div(-3, 1));static_assert(test_div(-3, 2));static_assert(test_div(-3, 3));
static_assert(test_div_floor(-1, 1));static_assert(test_div_floor(-1, 2));static_assert(test_div_floor(-1, 3));static_assert(test_div_floor(-2, 1));static_assert(test_div_floor(-2, 2));static_assert(test_div_floor(-2, 3));static_assert(test_div_floor(-3, 1));static_assert(test_div_floor(-3, 2));static_assert(test_div_floor(-3, 3));
template <typename T> constexpr T mod(const T &x, const T &y) ARITH_INLINE {return x - div(x, y) * y;
template <typename T>constexpr T mod_floor(const T &x, const T &y) ARITH_INLINE;template <typename T> constexpr T mod_floor(const T &x, const T &y) {return x - div_floor(x, y) * y;