Фарбування
Limits: 2 sec., 256 MiB
Одного осіннього дня Марічка вирішила пофарбувати паркан. Вона запросила Зеника, оскільки той обожнює малювати паркани. Зеник буде використовувати синій та жовтий кольори. Через особливі властивості фарби поєднання жовтого та синього дає зелений колір.
Паркан Марічки має довжину \(n\) сантиметрів та перед фарбуванням є повністю білим. Зеник починає фарбувати синім кольором зліва направо. Він не любить монотонні паркани, тому зафарбує перші \(b\) сантиметрів синім кольором, далі пропустить \(b\) сантиметрів та фарбуватиме наступні \(b\) сантиметрів і так далі. Зверніть увагу, що останній зафарбований проміжок може бути коротшим ніж \(b\) сантиметрів. Після цього Зеник повторить ідентичний процес з жовтою фарбою — зліва направо він фарбуватиме жовтим \(y\) сантиметрів паркану та пропускатиме наступні \(y\) сантиметрів і т.д.
Марічку цікавить скільки разів колір буде змінюватись після фарбування, якщо розглядати паркан зліва направо. Іншими словами — у скількох місцях паркану будуть межувати два різних кольори? Оскільки Зеник дуже зайнятий, пропонуємо Вам допомогти Марічці.
Input
У першому рядку задано три цілих числа через пробіл — \(n\), \(b\) та \(y\).
Output
Одне ціле число — відповідь на питання Марічки.
Constraints
\(1 \le n \le 10^{18},\)
\(1 \le b,\ y \le 10^{9}.\)
Samples
Input (stdin) | Output (stdout) |
---|---|
20 2 3 | 12 |
Notes
Малюнок відповідає прикладу з умови. У першому рядку зображено як виглядатиме паркан пофарбований тільки синім. У другому рядку зображено як виглядатиме паркан пофарбований тільки жовтим. У третьому рядку зорбажено як виглядатиме паркан наприкінці.
Submit a solution
Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
---|
Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
---|