Підрахунок ґратчастих квадратів
Гратковий квадрат — це квадрат, вершини якого розташовані в граткових точках. Граткова точка — це точка в декартовій системі координат, де абсциса і ордината є цілими числами. Наприклад, (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-бітне знакове ціле число.