Problem H: 数学游戏

"
Time Limit $1$ 秒/Second(s) Memory Limit $512$ 兆字节/Megabyte(s)
提交总数 $180$ 正确数量 $135$
裁判形式 标准裁判/Standard Judge 我的状态 尚未尝试
难度 分类标签
Kri 喜欢玩数字游戏。 一天,他在草稿纸上写下了T对正整数 ,并对于每一对正整数计算出了z=x*y*gcd(x,y)。 可是调皮的 Zay 找到了 Kri 的草稿纸,并把每一组的y都擦除了,还可能改动了一些z。 现在 Kri 想请你帮忙还原每一组的y,具体地,对于每一组中的x和z,你需要输出最小的正整数 , 使得 。如果这样的 不存在,也就是 Z 一定改动了 ,那么请输出 。 注: gcd(x,y)表示x和y的最大公约数,也就是最大的正整数c,满足c既是x的约数,又是y的 约数。
第一行一个整数T,表示有T对正整数x和z。 接下来T行,每行两个正整数x和z,含义见题目描述。
对于每对数字输出一行,如果不存在满足条件的正整数y,请输出-1 ,否则输出满足条件的最小正整 数 。
1
10 240
12