f () = Σ [(ai + b) / c]
ll S(ll k) { return (k*(k+1)/2ll)%MOD; } ll f(ll a,ll b,ll c,ll n) { if(!a)return 0; if(a>=c||b>=c) return ((a/c)*S(n)%MOD+(n+1)*(b/c)%MOD+f(a%c,b%c,c,n))%MOD; ll m=(a*n+b)/c; return (m*n%MOD-f(c,c-b-1,a,m-1)+MOD)%MOD; }
ll f(ll a,ll b,ll c,ll n){ if(a==0) return (n+1)*(b/c); if(a<c&&b<c){ ll m=(a*n+b)/c; if(m==0) return 0; return n*m-f(c,c-b-1,a,m-1); } return f(a%c,b%c,c,n)+(n+1)*(b/c)+((n+1)/(1+(n&1)))*(n/(2-(n&1)))*(a/c); }
g () = Σ i [(a i + b) / c]
h () = Σ i [(one + b) / c] 2