Как побить все рекорды
Кроме известных программистов и хакеров, есть также и широко известные геймеры. Коля как раз и есть один из них. Он очень любит играть в игры и ставить в них рекорды.
Однажды ему попалась в руки игра Пети и он решил поставить в ней такой рекорд, который никому и никогда не удастся побить. Очевидно для этого надо набрать максимально возможное число очков. Коля знает, что в начале игры у игрока 0 очков. И каждый ход он может заработать от a до b очков включительно (не исключаются и отрицательные числа – они означают, что игрок штрафуется на некоторое количество очков). При этом количество ходов никак не ограничено, но игру можно закончить в любой удобный момент.
Кроме того, хакер Вася сообщил Коле по секрету, что для хранения количества очков в программе Пети использована переменная n-байтового целочисленного типа со знаком. Поэтому количество очков может принимать любое целое значение от -2^{8n-1} до 2^{8n-1}-1. Переменные такого типа обладают тем свойством, что если к максимальному значению (-2^{8n-1}-1) прибавить 1, то произойдет переполнение и в результате получится минимальное (-2^{8n-1}). Верно и обратное – если из минимального значения вычесть единицу (или, что то же самое, добавить -1) получится максимальное. Добавление любого положительного числа k означает k-кратное применение операции увеличения на единицу. Аналогично, добавление отрицательного числа означает применение соответствующего количества раз операции уменьшения на 1.
Помогите Коле определить минимальное количество ходов, которые потребуется ему, чтобы набрать максимально представимое количество очков.
Входные данные
В единственной строке задаются три целых числа n, a и b (1 ≤ n ≤ 8, -2^{8n-1} ≤ a ≤ 0 ≤ b ≤ -2^{8n-1}-1).
Выходные данные
В единственную строку выведите одно число – количество ходов для установления рекорда, равного максимально представимому количеству очков. Если это сделать невозможно, выведите число -1.