eolymp
bolt
Try our new interface for solving problems
Məsələlər

Слоны на торовидной доске

Слоны на торовидной доске

Слон - это шахматная фигура, которая может передвигаться по диагонали на любое количество клеток. Представьте себе, что мы возьмем доску размером \textbf{m}х\textbf{n} и соединим ее верхний и нижний край, а также левый с правым, в результате чего доска примет форму тора. Например, для доски \textbf{7}×\textbf{10 }соседями клетки \textbf{(4, 1)} будут \textbf{(3, 10)}, \textbf{(3, 1)}, \textbf{(3, 2)}, \textbf{(4, 10)}, \textbf{(4, 2)}, \textbf{(5, 10)}, \textbf{(5, 1)}, \textbf{(5, 2)}; соседями клетки \textbf{(1, 10)} будут \textbf{(7, 9)}, \textbf{(7, 10)}, \textbf{(7, 1)}, \textbf{(1, 9)}, \textbf{(1, 1)}, \textbf{(2, 9)}, \textbf{(2, 10)}, \textbf{(2, 1)}. На торовидной доске шахматные фигуры не ограничены ее размерами, и например, на доске \textbf{7}×\textbf{10} слон может пойти из любой клетки в любую другую за один ход. Например, из клетки \textbf{(2, 1)} в клетку \textbf{(7, 9)} ведет путь \textbf{(2, 1) }→ \textbf{(1, 10) }→ \textbf{(7, 9)}. Будем говорить, что множество слонов покрывают доску, если всегда можно передвинуть какого-нибудь слона в любую пустую клетку за один ход. Другими словами, каждая клетка доски либо занята, либо находится под боем некоторого слона. Вам следует найти наименьшее количество слонов, которыми можно покрыть торовидную доску \textbf{m}×\textbf{n}. \InputFile Два числа \textbf{m} и \textbf{n} (\textbf{1 }≤ \textbf{n}, \textbf{m }≤ \textbf{10^100}). \OutputFile Вывести наименьшее количество слонов, которыми можно покрыть торовидную доску размера \textbf{m}×\textbf{n}.
Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 64 MiB
Giriş verilənləri #1
2 2
Çıxış verilənləri #1
2
Mənbə 2004 Петрозаводск, Лето, Контест Андрея Станкевича 7, Август 22, Задача I