Дан прямоугольник из N×M квадратов. Назовём квадраты на границе прямоугольника крайними. Расстоянием от какого‑либо квадрата до края назовём количество перемещений, которое нужно сделать из данного квадрата в соседний по стороне квадрат, чтобы добраться от данного квадрата до крайнего квадрата. Квадраты с максимальным расстоянием до края, будем называть центральными. При этом квадрат может быть одновременно и крайним, и центральным.
На рисунке изображён прямоугольник для N=7 и M=8, в каждом квадрате которого записано расстояние от этого квадрата до края. У этого прямоугольника два центральных квадрата.
По данным N и M определите количество центральных квадратов в прямоугольнике.
Формат входных данных
Программа получает на вход два целых положительных числа, записанных в разных строках, не превосходящих 109 — размеры прямоугольника.
Формат выходных данных
Программа должна вывести одно число — количество центральных клеток в данном прямоугольнике.
1 Ответ
Ответ:
n = int(input())
m = int(input())
p = (lambda a, b: ((a // b) * a + (b // a) * b) // (a // b + b // a))(n, m)
q = p — (n + m — p — 1) // 2 * 2
r = 2 — (n + m — p) % 2
print(q *r)