Перебудова павутини#4372

Перебудова павутини

2 секунди
64 мегабайти
Складна

Старий павук захотів урізноманітнити своє життя. Для цього він вирішив перебудувати свою прямокутну павутину. Початково павутина має розміри a \times b. За одну секунду павук може виконати одну з наступних операцій на павутині розміром x \times y:

  1. Приєднати смужку розміром x \times k до павутини, в результаті чого отримається прямокутник розміром x \times (y + k), де — будь-який натуральний дільник і k \leq y.

  2. Приєднати смужку розміром k \times y до павутини, в результаті чого отримається прямокутник розміром (x + k) \times y, де — будь-який натуральний дільник і k \leq x.

  3. Відрізати смужку розміром x \times k від павутини, в результаті чого отримається прямокутник розміром x \times (y - k), де — будь-який натуральний дільник і k < y.

  4. Відрізати смужку розміром k \times y від павутини, в результаті чого отримається прямокутник розміром (x - k) \times y, де — будь-який натуральний дільник і k < x.

Вам задані початкові розміри павутини та ті розміри, яких павук бажає досягти. Ваше завдання — визначити мінімальний час, необхідний для здійснення цієї трансформації. Орієнтація павутини не має значення (a \times b та b \times a вважаються однаковими).

Вхідні дані

Чотири цілі числа , , , (1 \leq a, b, c, d \leq 10^5).

Вихідні дані

Виведіть одне ціле число — мінімальну кількість секунд, необхідну, щоб перетворити павутину з розміру a \times b на c \times d.

Приклади

Приклад 1

Loading
Loading