#CF2114F. 小型操作

    ID: 7114 传统题 1000ms 256MiB 尝试: 2 已通过: 1 难度: 5 上传者: 标签>其他二分查找搜索枚举DFS动态规划数学数论排序*2000

小型操作

F. 小型操作
每次测试的时间限制:3 秒
每次测试的内存限制:256 兆字节


给定一个整数 xx 和一个整数 kk。在一次操作中,你可以选择以下两种操作之一:

  1. 选择一个整数 1ak1 \le a \le k,并令 x=xax = x \cdot a
  2. 选择一个整数 1ak1 \le a \le k,并令 x=xax = \frac{x}{a},其中 xa\frac{x}{a} 必须为整数。

要求通过最少的操作次数使得数 xx 变为 yy,如果不可能实现,则输出 1-1


输入
第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。
每个测试用例一行,包含三个整数 xxyykk1x,y,k1061 \le x, y, k \le 10^6)。
保证所有测试用例的 xx 的和与 yy 的和均不超过 10810^8


输出
对于每个测试用例,如果不可能通过给定操作使得 x=yx = y,输出 1-1,否则输出所需的最少操作次数。


示例
输入

8
4 6 3
4 5 3
4 6 2
10 45 3
780 23 42
11 270 23
1 982800 13
1 6 2

输出

2
-1
-1
3
3
3
6
-1