inline long long multi(long long x,long long y,long long mod) { long long tmp=(x*y-(long long)((long double)x/mod*y+1.0e-8)*mod); return tmp<0 ? tmp+mod : tmp; }
PS:可靠性还未多次验证,会找时间测试。对于mod极大的情况会有难以避免的误差