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