先算 (b),发现可以直接容斥+反演处理。
第二种搞法是用 (gcd) 的性质做,可以做到 (mathcal O(nlog w)) 计算 (b)。
搞出 (b) 之后二分答案,然后用双指针扫合法的区间,对于一对 ( m pair),((a,b)) 稍微化简一下会发现等价于统计 (lfloorfrac{a+bi}{c} floor) 下的点数。跑类欧就可以了。
代码枯了。