How to Break All Records
In addition to famous programmers and hackers, there are also well-known gamers. Kolya is one of them. He loves playing games and setting unbeatable records.
One day, he discovered the game Petrikai and decided to set a record that no one could ever surpass. To achieve this, he needs to score the maximum possible number of points. Kolya knows that at the start of the game, the player has 0 points. In each turn, he can earn between a and b points inclusive (negative numbers are possible, meaning the player loses a certain number of points). The number of turns is unlimited, and the game can be ended at any convenient time.
Additionally, hacker Vasya secretly informed Kolya that the score in the Petrikai program is stored using a n-byte signed integer type. Therefore, the score can range from -2^{8n-1} to 2^{8n-1}-1. Variables of this type have the property that if you add 1 to the maximum value (2^{8n-1}-1), an overflow occurs, resulting in the minimum value (-2^{8n-1}). The reverse is also true—if you subtract one from the minimum value (or equivalently, add -1), you get the maximum. Adding any positive number k means applying the increment operation k times. Similarly, adding a negative number means applying the decrement operation the corresponding number of times.
Help Kolya determine the minimum number of turns needed to score the maximum representable number of points.
Input
The single line contains three integers n, a, and b (1 ≤ n ≤ 8, -2^{8n-1} ≤ a ≤ 0 ≤ b ≤ 2^{8n-1}-1).
Output
Output a single number—the number of turns needed to set a record equal to the maximum representable number of points. If this is not possible, output the number -1.