Маленький Слоник играет с декартовой системой координат. Больше всего ему нравится играть с целочисленными точками. Под целочисленной точкой Маленький Слоник подразумевает пару целых чисел (x; y) таких, что 0 ≤ x ≤ w и 0 ≤ y ≤ h. Таким образом Маленький Слоник знает только (w + 1)·(h + 1) различных целочисленных точек.
Маленький Слоник хочет нарисовать треугольник с вершинами в целочисленных точках, площадь которого является целым положительным числом. Для этого ему нужно найти количество троек точек, которые образуют такой треугольник. При этом порядок точек в тройке имеет значение, то есть тройка точек (0;0), (0;2), (2;2) не равна тройке (0;2), (0;0), (2;2).
Помогите Маленькому Слонику найти количество троек целочисленных точек, которые образуют невырожденный треугольник с целочисленной площадью.
Выходные данные
В единственную строку выходных данных выведите целое число — остаток от деления ответа на задачу на 1000000007 (109 + 7).
Примеры
| № | Входные данные | Выходные данные |
|
1
|
2 1
|
36
|
|
2
|
2 2
|
240
|