The Little Elephant is playing with the Cartesian coordinates' system. Most of all he likes playing with integer points. The Little Elephant defines an integer point as a pair of integers $(*x*; *y*)$, such that $0 ≤ *x* ≤ *w*$ and $0 ≤ *y* ≤ *h*$. Thus, the Little Elephant knows only $(*w* + 1)·(*h* + 1)$ distinct integer points.
The Little Elephant wants to paint a triangle with vertexes at integer points, the triangle's area must be a positive integer. For that, he needs to find the number of groups of three points that form such triangle. At that, the order of points in a group matters, that is, the group of three points $(0;0)$, $(0;2)$, $(2;2)$ isn't equal to the group $(0;2)$, $(0;0)$, $(2;2)$.
Help the Little Elephant to find the number of groups of three integer points that form a nondegenerate triangle with integer area.
Input
A single line contains two integers $*w*$ and $*h*$ $(1 ≤ *w*, *h* ≤ 4000)$.
Output
In a single output line print an integer — the remainder of dividing the answer to the problem by $1000000007$ $(10^{9} + 7)$.
样例
2 1
36
2 2
240
题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。