Слони на торовидній дошці
Слон — це шахова фігура, яка може пересуватися по діагоналі на будь-яку кількість клітинок.
Уявіть собі дошку розміром mхn, де верхній і нижній край, а також лівий і правий край з'єднані, утворюючи тор. Наприклад, на дошці 7×10 сусідами клітинки (4, 1) є (3, 10), (3, 1), (3, 2), (4, 10), (4, 2), (5, 10), (5, 1), (5, 2); сусідами клітинки (1, 10) є (7, 9), (7, 10), (7, 1), (1, 9), (1, 1), (2, 9), (2, 10), (2, 1).
На такій торовидній дошці фігури не обмежені її розмірами, тому, наприклад, на дошці 7×10 слон може переміститися з будь-якої клітинки в будь-яку іншу за один хід. Наприклад, з клітинки (2, 1) до клітинки (7, 9) веде шлях (2, 1) → (1, 10) → (7, 9).
Кажемо, що множина слонів покриває дошку, якщо завжди можна пересунути якогось слона в будь-яку порожню клітинку за один хід. Іншими словами, кожна клітинка дошки або зайнята, або під загрозою якогось слона.
Вам потрібно визначити найменшу кількість слонів, якими можна покрити торовидну дошку m×n.
Вхідні дані
Два числа m і n (1 ≤ n, m ≤ 10^100).
Вихідні дані
Виведіть найменшу кількість слонів, якими можна покрити торовидну дошку розміру m×n.