常用库函数重载

using i64 = long long;
using i128 = __int128;
i64 ceilDiv(i64 n, i64 m) {
if (n >= 0) {
return (n + m - 1) / m;
} else {
return n / m;
}
}
i64 floorDiv(i64 n, i64 m) {
if (n >= 0) {
return n / m;
} else {
return (n - m + 1) / m;
}
}
template<class T>
void chmax(T &a, T b) {
if (a < b) {
a = b;
}
}
i128 gcd(i128 a, i128 b) {
return b ? gcd(b, a % b) : a;
}