CF1176A.Divide it!

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Divide it!

题目描述

给你一个整数nn

你可以对这个数进行任意多次(可以为00)如下的操作

  1. 如果nn22的倍数,把nn替换成n2\frac{n}{2}
  2. 如果nn33的倍数,把nn替换成2n3\frac{2n}{3}
  3. 如果nn55的倍数,把nn替换成4n5\frac{4n}{5}

举个例子,你可以通过操作113030变成1515,用操作223030变成2020,用操作333030变成2424

你的任务是找到把nn变成11的最少操作次数,或者说不可能做到

你需要回答qq个独立的询问

输入格式

输入的第一行包括一个整数qq1q10001\leq q\leq 1000)——询问的数量

接下来qq行每行一个询问,每个询问给你一个nn1n10181\leq n\leq 10^{18}

输出格式

对于每个询问一行输出一个答案,如果不可能从nn变成11,输出1-1;否则输出操作的最少次数

样例

7
1
10
25
30
14
27
1000000000000000000
0
4
6
6
-1
6
72

在线编程 IDE

建议全屏模式获得最佳体验