6091 - 202602 SACCC:四级第五题 分割(divide)

给定一个整数 x,你可以执行下面三种操作任意多次:

•如果 x 是 2 的倍数,则将 x 替换为 x/2;
•如果 x 是 3 的倍数,则将 x 替换为 2x/3;
•如果 x 是 5 的倍数,则将 x 替换为 4x/5。

请你编写一个程序,计算将 x 变成 1 所需要的最小操作次数

Input

本题有多组测试数据。 第一行一个正整数 T,表示测试数据的组数。 每组测试数据仅包含一行一个整数 X。

Output

对于每组测试数据,输出一行一个整数表示答案。 如果不可能将 X 变成 1,则输出 -1。

Examples

Input

3
1
2
6

Output

0
1
3

Input

5
2
3
5
7
11

Output

1
2
3
-1
-1

Hint

【数据范围】 •对于 30% 的测试数据,保证:1≤X≤1000; •对于 60% 的测试数据,保证:1≤X≤10^9; •对于全部测试数据,保证:1≤t≤1000,1≤x≤10^18

Time Limit 1 second
Memory Limit 512 MB
Discuss Stats
上一题 下一题