#include #include #include #include const long long MOD=(long long)1e9 + 7; long long pow(long long a, long long n) { long long ret=1; for (;n>0;n>>=1,a=a*a%MOD) { if (n%2==1) ret=ret*a%MOD; } return ret; } long long inv(long long a) { return pow(a, MOD-2); } // s + s+1 + s+2 + ... + t long long sum1(long long s, long long t) { if (s>t) return 0; return (s+t)*(t-s+1)%MOD*inv(2)%MOD; } long long gcd(long long a, long long b) { if (a>b) return gcd(b, a); if (a==0) return b; return gcd(b%a, a); } const int NMAX=3123456; long long cnt[NMAX]; long long cnt2[NMAX]; long long cnt3[NMAX]; long long solve(long long H, long long W) { for (int i=0;i0) continue; for (int j=i;j> H >> W; std::cout << solve(H, W) << std::endl; }