小红的乘除变换
题号:NC260772
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

小红拿到了一个正整数 x。她可以对 x 做以下操作:
1. 将 x 乘以5。
2. 若 x 是6的倍数,将 x 除以6。

例如,12经过一次操作可以变成60,也可以变成2。

现在小红想知道,如果要把 x 变成 y,需要操作多少次?一共有 t 组询问。

输入描述:

第一行输入一个正整数 t,代表询问次数。
接下来的 t 行,每行输入两个正整数 xy ,代表一次询问。
数据范围:

输出描述:

输出t行,对于每次询问,如果无论如何都不能把 x 变成 y,输出-1。否则输出操作次数。
示例1

输入

复制
1
6 5

输出

复制
2

说明

x除以6变为1,再乘5变为5,即操作2次可使x变为y
示例2

输入

复制
2
6 6
9 8

输出

复制
0
-1

说明

第一个不需要操作即可使x变为y,故答案为0。第二个无论操作多少次都不能使x变为y,故答案为-1。