#60. LCM Problem

LCM Problem

定义 LCM(x,y)LCM(x,y) 为同时能被 xxyy 整除的最小正整数(即 xxyy 的最小公倍数)。例如:

  • LCM(13,37)=481LCM(13,37)=481
  • LCM(9,6)=18LCM(9,6)=18

给定两个整数 llrr,请找出两个整数 x,yx,y,满足:

  • lx<yrl \le x < y \le r
  • lLCM(x,y)rl \le LCM(x,y) \le r

输入格式

  • 第一行一个整数 tt1t100001 \le t \le 10000),表示测试用例数量。
  • 接下来 tt 行,每行两个整数 l,rl,r1l<r1091 \le l < r \le 10^9)。

输出格式

对每个测试用例输出一行两个整数:

  • 若不存在满足条件的 x,yx,y,输出 -1 -1
  • 否则输出一组满足条件的 x,yx,y

原题允许输出任意一组解。为保证固定输出,本题统一采用如下确定性规则:

  • 2lr2l \le r,输出 x=l, y=2lx=l,\ y=2l(此时 LCM(l,2l)=2lLCM(l,2l)=2l,且 l2lrl \le 2l \le r 成立)。
  • 否则输出 -1 -1

样例

输入

4
1 1337
13 69
2 4
88 89

输出

1 2
13 26
2 4
-1 -1

注意:样例输出可能与原题样例不同,但同样满足条件且按本文固定规则唯一确定。