Вам дано целое число \(n\). За один ход вы можете или умножить \(n\) на 2, или разделить \(n\) на \(6\) (если оно делится на \(6\) без остатка).
Ваша задача — найти минимальное количество ходов, необходимое, чтобы получить \(1\) из \(n\) или определить, что это невозможно.
Вам нужно ответить на \(t\) независимых наборов тестовых данных.
Выходные данные
Для каждого набора тестовых данных выведите ответ на него — минимальное количество ходов, необходимое, чтобы получить \(1\) из \(n\), если это возможно, или -1, если невозможно получить \(1\) из \(n\).
Примечание
Рассмотрим шестой набор тестовых данных примера. Ответ может быть получен следующей последовательностью ходов из заданного числа \(15116544\):
- Разделим на \(6\) и получим \(2519424\);
- разделим на \(6\) и получим \(419904\);
- разделим на \(6\) и получим \(69984\);
- разделим на \(6\) и получим \(11664\);
- умножим на \(2\) и получим \(23328\);
- разделим на \(6\) и получим \(3888\);
- разделим на \(6\) и получим \(648\);
- разделим на \(6\) и получим \(108\);
- умножим на \(2\) и получим \(216\);
- разделим на \(6\) и получим \(36\);
- разделим на \(6\) и получим \(6\);
- разделим на \(6\) и получим \(1\).
| № | Входные данные | Выходные данные |
|
1
|
7
1
2
3
12
12345
15116544
387420489
|
0
-1
2
-1
-1
12
36
|