Codeforces Round 547 (Div. 3) |
---|
Закончено |
«Игра 23» — вот во что сейчас играет Поликарп. Изначально у него есть целое число $$$n$$$ и его цель преобразовать его в целое число $$$m$$$. За один ход он может умножить $$$n$$$ на $$$2$$$ или умножить $$$n$$$ на $$$3$$$. Он может совершать любое количество ходов.
Выведите количество ходов, сколько необходимо Поликарпу, чтобы получить из числа $$$n$$$ число $$$m$$$. Выведите -1, если это невозможно сделать.
Легко доказать, что любой способ преобразования из числа $$$n$$$ в число $$$m$$$ содержит одинаковое количество ходов (т.е. количество ходов не зависит от способа преобразования).
В единственной строке входных данных записаны два целых числа $$$n$$$ и $$$m$$$ ($$$1 \le n \le m \le 5\cdot10^8$$$).
Выведите количество ходов, чтобы получить из числа $$$n$$$ число $$$m$$$. Выведите -1, если это невозможно сделать.
120 51840
7
42 42
0
48 72
-1
В первом примере одна из возможных последовательностей ходов: $$$120 \rightarrow 240 \rightarrow 720 \rightarrow 1440 \rightarrow 4320 \rightarrow 12960 \rightarrow 25920 \rightarrow 51840.$$$ Всего совершено $$$7$$$ ходов.
Во втором примере Поликарп не должен совершать ходы. Таким образом, ответ равен $$$0$$$.
В третьем примере из $$$48$$$ невозможно получить $$$72$$$.
Название |
---|