#P2454. 2454 - 数学游戏(math)

2454 - 数学游戏(math)

题目描述

Kri 喜欢玩数字游戏。

一天,他在草稿纸上写下了 tt 对正整数 (xx,yy),并对于每一对正整数计算出了

z=x×y×gcd(x,y)z = x × y × gcd(x,y)

可是调皮的 Zay 找到了 Kri 的草稿纸,并把每一组的 yy 都擦除了,还可能改动了一些 zz

现在 Kri 想请你帮忙还原每一组的 yy ,具体地,对于每一组中的 xxzz ,你需要输出最小的正整数 yy

使得 z=x×y×gcd(x,y)z = x × y × gcd(x,y) 。如果这样的 yy 不存在,也就是 Zay 一定改动了 zz ,那么请输出 1-1

注: gcd(x,y)gcd(x,y) 表示 xxyy 的最大公约数,也就是最大的正整数 dd ,满足 dd 既是 xx 的约数,又是 yy

约数。

输入

第一行一个整数 tt ,表示有 tt 对正整数 xxzz

接下来 tt 行,每行两个正整数 xxzz ,含义见题目描述。

输出

对于每对数字输出一行,如果不存在满足条件的正整数 yy ,请输出 1-1 ,否则输出满足条件的最小正整数 yy

样例

1
10 240
12
3 
5 30
4 8
11 11
6 
-1
1

说明

样例 1 解释

x×y×gcd(x,y)=10×12×gcd(10,12)=240x × y × gcd(x,y) = 10 × 12 × gcd(10,12) = 240

数据范围

对于 20%20\% 的数据, t,x,z10t,x,z≤1033

对于 40%40\% 的数据, t10t≤1033x10x≤1066z10z≤1099

对于另 30%30\% 的数据, t10t≤1044

对于另 20%20\% 的数据, x10x≤1066

对于 100%100\% 的数据, 1t5×101≤t≤5×10551x101≤x≤10991z21≤z<26363

来源

NOI Online 能力测试 2022 T2