显然,我们要求(sumlimits_{i=1}^nsumlimits_{i=1}^m 2*(gcd(i,j)-1)+1=sumlimits_{i=1}^nsumlimits_{i=1}^m 2*gcd(i,j)-1)
不懂的话看这张图慢慢理解吧
解法一
容斥原理
设函数(f(x))为(gcd(i,j)=x)的对数个数
设函数(g(x))为有公因数x的((i,j))对数个数(i,j)的个数,则(g(x)=(n/x)*(m/x))
而我们要求的是实际上是(f(x)),而(g(x))其中有一些(gcd(i,j)=kd),对于这些,我们要减掉
于是最终(f(x)=(n/x)*(m/x)-sumlimits_{2x<=ix<=min(n,m)}f(i*x))