John and George play the following game: John chooses one integer in the set A_n = \{1, 2, 3, \ldots, n\}. George has to guess the value of . Players play by consecutive moves , , ... . In the -th move of the game, George chooses a subset B_k of A_n and John says YES, if belongs to B_k or NO, otherwise. In case of answer NO, George pays John euros; in case of answer YES, George pays John euros. We want to know the minimum amount of euros that George has to pay in order to find , regardless of John's choice.
Write a program that calculates the wanted minimum amount.
In one line given three integers (1 < n < 10^{18}), and (0 < a, b < 1000).
Print out one integer, that is equal to the wanted minimum amount of euros.
Example 1
George can find for euros, in the following way:
George selects set B_1 = \{1, 2\}.
If John's answer is YES, George pays euros and then selects set B_2 = \{1\}. If the next answer is YES, George pays another euros and the game ends (the chosen integer was ), otherwise he pays another euro and the game ends (the chosen integer was ).
If John's answer is NO, George pays euro and selects the set B_2 = \{3\}. If the next answer is YES, George pays another euros and the game ends (the chosen integer was ), otherwise he pays another euro and selects the set B_3 = \{4\}. If the last answer is YES, George pays another euros and the game ends (the chosen integer was ), otherwise George pays another euro and the game ends (the chosen integer was ).