Городские олимпиады/1-2 курсы/Предметная олимпиада по информатике 2019


2. Мороженое и конфеты (75 баллов)

Автор задачи: Соловьёв Виктор
Ограничение по времени: 1 с.
Ограничение по памяти: 64 МБ

Витя купил себе ведёрко мороженого, а Аня — пакет конфет.

Аня хочет мороженого, поэтому Витя предложил ей обмен: она может съесть половину мороженого, если даст ему одну конфету. Если этого ей покажется мало, то за вторую и каждую последующую отданную конфету Аня может съесть половину от того мороженого, что осталось в ведёрке на момент очередного обмена.

В ведёрке Вити — n грамм мороженого. Аня хочет съесть не менее m грамм. Какое минимальное количество конфет ей придётся отдать Вите?

Входные данные

Единственная строка входных данных содержит целые числа n и m, разделённые пробелом — вес в граммах мороженого в ведёрке и количество грамм мороженого, которое хочет съесть Аня (1 \leqslant n, m \leqslant 10^{18}).

Выходные данные

Требуется вывести одно целое число — количество конфет, которое придётся отдать Ане. Если никакого конечного количества конфет недостаточно — необходимо вывести «-1» (без кавычек).

Примеры
Стандартный вводСтандартный вывод
117 893
45 446
Примечания

В этой задаче нет подзадач. Решения участников будут проверяться на наборе из 25 тестов, за прохождение каждого из которых будет начислено 3 балла.