h,w=map(int,input().split()) if h==1 or w==1: print(max(h,w)-1) exit() M=10**9+7 l=min(h,w) q=[0]*l for i in reversed(range(1,l)): x=(h-1)//i y=(w-1)//i q[i]=(h*x-i*x*(x+1)//2)*(w*y-i*y*(y+1)//2)*2%M for j in range(i+i,l,i): q[i]-=q[j] q[i]%=M print((q[1]+h*(w-1)+(h-1)*w)%M)