#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define popcount __builtin_popcount using namespace std; typedef long long int ll; typedef pair P; const ll MOD=1e9+7; const int MAX=3000030; vector prime; bool isprime[MAX]; void sieve(){ for(ll i=3; i>h>>w; ll ans=(h-1)*w+(w-1)*h; ans%=MOD; sieve(); mobius(3000010); ll s=0; for(int i=1; i<=max(h, w)+1; i++){ if(m[i]==0) continue; ll c=calc(i); (s+=(MOD+m[i])*c)%=MOD; } ans=(ans+2*s)%MOD; cout<