В якості домашнього завдання з інформатики учням запропоновано розробити
спеціальний калькулятор, який влаштований таким чином.
Спочатку користувач вводить ціле додатне число n, яке виводиться на
екран. Потім користувач може натискати на три кнопки: \(A, B, C\).
При натисканні на кнопку \(A\) число, яке виведено на екран, ділиться на 2. Якщо число
на екрані непарне, то залишок відкидається. Наприклад, результат цієї операції для числа
80 дорівнює 40, а для числа 239 дорівнює 119.
При натисканні на кнопку \(B\) до числа, яке виведено на екран, додається 1, і
результат ділиться на 2. Залишок від ділення відкидається.
Наприклад, результат операції для числа 80 дорівнює 40, а для числа 239 дорівнює 120.
При натисканні на кнопку \(C\) відбувається наступне. Якщо число, яке виведено на екран, додатне, то з нього віднімається 1 і результат ділиться на 2, залишок відкидається. Якщо ж перед натисканням на кнопку \(C\) на екран було виведено число 0, то воно залишається незмінним.
Наприклад, результат операції для числа 80 дорівнює 39, а для числа 239
дорівнює 119.
Користувач ввів число n і збирається натиснути на кнопки операцій в деякому
порядку. Зокрема, він планує натиснути на кнопку \(A\) сумарно \(a\) раз, на кнопку \(B\) - \(b\) раз
і на кнопку \(C\) - \(c\) раз. Його зацікавило питання, яке мінімальне число може
бути отримане в результаті виконання описаних операцій.
Потрібно написати програму, яка за введеним числом \(n\) і числам \(a, b, c\), які показують кількість проведених на калькуляторі операцій різного типу, визначає мінімальне число, яке може бути отримано в результаті роботи калькулятора.
Формат вихідних даних
У стандартному потоці міститься чотири цілих числа: \(n, a, b, c\) \((1 \le n \le 10^{18}, 0 \le a, b, c \le 60)\). Числа задані на одному рядку, сусідні числа розділені одним пропуском.
Формат вихідних даних
У стандартний потік вивести результат - мінімальне число, яке може бути отримано в результаті роботи калькулятора.
Приклад вхідних даних
72 2 1 1
Приклад вихідних даних
4
Пояснення
У прикладі користувачеві необхідно оптимально діяти в такий спосіб: натиснути на кнопку \(C\) і отримати число 36, потім натиснути на кнопку \(A\) і отримати число 18, потім натиснути на кнопку \(B\) і отримати число 8, потім другий раз натиснути на кнопку \(A\) і отримати число 4.
Коментарі