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 range(1,l): x=(h-1)//i y=(w-1)//i q[i]=sum(h-i*j for j in range(1,x+1))*sum(w-i*j for j in range(1,y+1))*2%M for i in reversed(range(1,l)): 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)