long long mul_mod(long long x, long long y, long long m) {
long long ret = x * y - (long long)((long double)x * y / m + 1e-8) * m;
ret = (ret >= m ? ret - m : ret);
return ret < 0 ? ret + m : ret;
}
利用long long的溢出取模,可以满足long long乘long long。