printРабочее место участника

printЗадачи

2182. Делёж-2

Ограничения: время – 200ms/500ms, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (1)

Лиса Алиса и кот Базилио нашли в пещере огромный слиток золота, но они не смогли поднять слиток даже вдвоем. Вдруг в пещере появилась фея. Она сказала, что слиток весит `2^n` грамм и что она знает заклинание, которое может поделить любой кусок золота на 2 равные части. Лиса Алиса сказала, что она может унести `a` грамм золота, а кот Базилио – `b` грамм. Естественно, каждый из них хочет взять ровно столько золота, сколько может унести, а остаток золота – `2^n\ -\ a\ -\ b` грамм  – фея может забрать себе за работу по дележу.
Напишите программу, которая определяет, сколько минимально раз фея должна произнести заклинание, чтобы поделить слиток на куски так, чтобы Алиса и Базилио могли взять из них ровно `a` и `b` грамм соответственно.
Первая строка ввода содержит три целых числа `n` (`2\ ≤\ n\ ≤\ 30`), `a` и `b` (`1\ ≤\ a`, `1\ ≤\ b`, `a+b\ <\ 2^n`).
Вывести одно целое число — сколько минимально раз фея должна произнести заклинание, чтобы поделить золото между мошенниками.

Пример ввода

5 8 12

Пример вывода

4
Пояснение к примеру: фея должна поделить 32 грамма на две части по 16 грамм, затем каждую из них на две части по 8 грамм, и одну из этих частей на две части по 4 грамма. Лиса Алиса берет один кусок 8 грамм, кот Базилио – два куска весом 8 и 4 грамма, фее остаются два куска весом 8 и 4 грамма.
loading