CF1374B Multiply by 2, divide by 6

Description

You are given an integer $ n $ . In one move, you can either multiply $ n $ by two or divide $ n $ by $ 6 $ (if it is divisible by $ 6 $ without the remainder). Your task is to find the minimum number of moves needed to obtain $ 1 $ from $ n $ or determine if it's impossible to do that. You have to answer $ t $ independent test cases.

Input Format

The first line of the input contains one integer $ t $ ( $ 1 \le t \le 2 \cdot 10^4 $ ) — the number of test cases. Then $ t $ test cases follow. The only line of the test case contains one integer $ n $ ( $ 1 \le n \le 10^9 $ ).

Output Format

For each test case, print the answer — the minimum number of moves needed to obtain $ 1 $ from $ n $ if it's possible to do that or -1 if it's impossible to obtain $ 1 $ from $ n $ .

Explanation/Hint

Consider the sixth test case of the example. The answer can be obtained by the following sequence of moves from the given integer $ 15116544 $ : 1. Divide by $ 6 $ and get $ 2519424 $ ; 2. divide by $ 6 $ and get $ 419904 $ ; 3. divide by $ 6 $ and get $ 69984 $ ; 4. divide by $ 6 $ and get $ 11664 $ ; 5. multiply by $ 2 $ and get $ 23328 $ ; 6. divide by $ 6 $ and get $ 3888 $ ; 7. divide by $ 6 $ and get $ 648 $ ; 8. divide by $ 6 $ and get $ 108 $ ; 9. multiply by $ 2 $ and get $ 216 $ ; 10. divide by $ 6 $ and get $ 36 $ ; 11. divide by $ 6 $ and get $ 6 $ ; 12. divide by $ 6 $ and get $ 1 $ .