Подсчет решетчатых квадратов
Квадрат решетки — это квадрат, все вершины которого находятся в точках решетки. Точка решетки определяется в декартовой системе координат, где обе координаты — целые числа. Например, (1, 5) — это точка решетки, а (1, 1.5) — нет. В сетке размером (n×m) может быть множество квадратов решетки. На изображении слева показаны некоторые из них в сетке (4×4).
Подсчет квадратов решетки, стороны которых параллельны осям координат (как на Рисунках 1, 2 и 3), прост, но существуют и такие квадраты, стороны которых не параллельны осям (как на Рисунках 4, 5 и 6), и их подсчет сложнее. Некоторые из этих квадратов имеют четную площадь (Рисунки 2, 4, 6), а другие — нечетную (Рисунки 1, 3, 5). Вам дана сетка размером (m×n), и ваша задача — написать программу, которая подсчитает количество различных квадратов решетки с нечетной площадью, которые можно нарисовать в этой сетке. Два квадрата решетки считаются различными, если они не имеют всех четырех общих вершин.
Входные данные
Входной файл содержит не более 50000 строк данных. Каждая строка содержит два целых числа m, n (1 ≤ m, n ≤ 100000). Ввод завершается строкой с двумя нулями.
Выходные данные
Для каждой строки входных данных выведите одну строку вывода. Эта строка должна содержать целое число S, обозначающее количество различных квадратов решетки с нечетной площадью, которые можно нарисовать в сетке (m×n). Вы можете быть уверены, что значение S помещается в 64-битное знаковое целое число.