LL mul(LL a, LL b, LL c){ LL r= 0; while(b){ if(b&1) if((r+=a) >= c) r-=c; a<<=1; if(a>=c) a-=c; b>>=1; } return r; }