小蓝的疑惑
题号:NC265528
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

又到了上数学课的日子,老师在讲台上面讲课,问了一个问题,现有 a,b 两正整数,给定 gcd(a,b) 和 lcm(a,b) ,问能否求得 a,b 两正整数,恰好数学老师看到这时候小蓝在课堂上睡觉,于是数学老师点名提问了小蓝,小蓝想向你求助答案,如果有多对合法的 a,b ,输出 \mathit a 最小的那一对答案,若仍然有多个 \mathit a 最小的答案对,输出 \mathit a 最小且 \mathit b 最小的答案,否则输出 "-1" (不带引号)。

输入描述:

第一行包含一个整数 T (1 \leq T \leq 100) ,表示测试用例的组数。
对于每组测试用例:
输入一行包含两个整数 X,Y (1 \leq X,Y \leq 10^5) 分别表示 gcd(a,b) 和 lcm(a,b) 。

输出描述:

对于每组测试用例:
仅输出一行。若有合法的 a,b 则输出两个数表示答案。否则输出 "-1" (不带引号)

示例1

输入

复制
2
3 5
2 4

输出

复制
-1
2 4