Джон і Джордж грають у гру з наступними правилами: Джон вибирає ціле число з множини A_n = \{1, 2, 3, \ldots, n\}. Завдання Джорджа — вгадати це число . Гравці ходять по черзі: , , ... . На -му ході Джордж вибирає підмножину B_k з A_n, і Джон відповідає YES, якщо належить B_k, або NO в іншому випадку. Якщо відповідь NO, Джордж платить Джону євро; якщо YES, Джордж платить євро. Потрібно визначити мінімальну суму в євро, яку Джордж повинен заплатити, щоб гарантовано знайти , незалежно від вибору Джона.
Напишіть програму, яка обчислить цю мінімальну суму.
В одному рядку задано три цілі числа (1 < n < 10^{18}), і (0 < a, b < 1000).
Виведіть одне ціле число, яке дорівнює мінімальній сумі в євро, необхідній для визначення .
Приклад 1
Джордж може знайти за євро наступним чином:
Джордж вибирає множину B_1 = \{1, 2\}.
Якщо Джон відповідає YES, Джордж платить євро і потім вибирає множину B_2 = \{1\}. Якщо наступна відповідь YES, Джордж платить ще євро, і гра завершується (задумане число — ), інакше він платить ще євро, і гра завершується (задумане число — ).
Якщо Джон відповідає NO, Джордж платить євро і потім вибирає множину B_2 = \{3\}. Якщо наступна відповідь YES, Джордж платить ще євро, і гра завершується (задумане число — ), інакше він платить ще євро і вибирає множину B_3 = \{4\}. Якщо остання відповідь YES, Джордж платить ще євро, і гра завершується (задумане число — ), інакше Джордж платить ще євро, і гра завершується (задумане число — ).