「NOI Online 2022 入门组」数学游戏 - 数论
题意描述
Kri 喜欢玩数字游戏。
一天,他在草稿纸上写下了 \(t\) 对正整数 \((x, y)\),并对于每一对正整数计算出了 \(z = xy \gcd(x, y)\)。
可是调皮的 Zay 找到了 Kri 的草稿纸,并把每一组的 \(y\) 都擦除了,还可能改动了一些 \(z\)。
现在 Kri 想请你帮忙还原每一组的 \(y\),具体地,对于每一组中的 \(x\) 和 \(z\),你需要输出最小的正整数 \(z\),使得 \(z = xy \gcd(x, y)\)。如果这样的 \(y\) 不存在,也就是 Zay 一定改动了 \(z\),那么请输出 \(-1\)。
数据范围:\(1 \le t \le 5 \times {10}^5\),\(1 \le x \le {10}^9\),\(1 \le z < 2^{63}\)。