减法取模
((A % mod) - (B % mod) +mod) % mod
除法取模
(A / B) % mod = ((A % mod) * (inv(B) % mod)) % mod
inv(b)=b^(mod-2)
template<class T>
constexpr T power(T a, ll b) {
T res = 1;
for (; b; b /= 2, a = (a * a) % M) {
if (b % 2) {
res = (res * a) % M;
}
}
return (res % M);
}
template<class T>
constexpr T inv(T b) {
return power(b, M - 2);
}