Divide it!
题意翻译
### 题目描述
给你一个整数$n$
你可以对这个数进行任意多次(可以为$0$)如下的操作
1. 如果$n$是$2$的倍数,把$n$替换成$\frac{n}{2}$
2. 如果$n$是$3$的倍数,把$n$替换成$\frac{2n}{3}$
3. 如果$n$是$5$的倍数,把$n$替换成$\frac{4n}{5}$
举个例子,你可以通过操作$1$把$30$变成$15$,用操作$2$把$30$变成$20$,用操作$3$把$30$变成$24$
你的任务是找到把$n$变成$1$的最少操作次数,或者说不可能做到
你需要回答$q$个独立的询问
### 输入输出格式
#### 输入格式
输入的第一行包括一个整数$q$($1\leq q\leq 1000$)——询问的数量
接下来$q$行每行一个询问,每个询问给你一个$n$($1\leq n\leq 10^{18}$)
#### 输出格式
对于每个询问一行输出一个答案,如果不可能从$n$变成$1$,输出$-1$;否则输出操作的最少次数
题目描述
You are given an integer $ n $ .
You can perform any of the following operations with this number an arbitrary (possibly, zero) number of times:
1. Replace $ n $ with $ \frac{n}{2} $ if $ n $ is divisible by $ 2 $ ;
2. Replace $ n $ with $ \frac{2n}{3} $ if $ n $ is divisible by $ 3 $ ;
3. Replace $ n $ with $ \frac{4n}{5} $ if $ n $ is divisible by $ 5 $ .
For example, you can replace $ 30 $ with $ 15 $ using the first operation, with $ 20 $ using the second operation or with $ 24 $ using the third operation.
Your task is to find the minimum number of moves required to obtain $ 1 $ from $ n $ or say that it is impossible to do it.
You have to answer $ q $ independent queries.
输入输出格式
输入格式
The first line of the input contains one integer $ q $ ( $ 1 \le q \le 1000 $ ) — the number of queries.
The next $ q $ lines contain the queries. For each query you are given the integer number $ n $ ( $ 1 \le n \le 10^{18} $ ).
输出格式
Print the answer for each query on a new line. If it is impossible to obtain $ 1 $ from $ n $ , print -1. Otherwise, print the minimum number of moves required to do it.
输入输出样例
输入样例 #1
7
1
10
25
30
14
27
1000000000000000000
输出样例 #1
0
4
6
6
-1
6
72