#P1702. zlt与狗狗

zlt与狗狗

题面翻译

zlt 和他的忠实狗狗普什克正在玩一个毫无意义但是很有趣的游戏。游戏包括多个回合。

它的规则非常简单:先选择一个自然数k。然后,谁说(或吠)的比另一个快就会赢得一局。胜利者的得分在那之后会乘以k的平方,而输了的人的得分就只能乘以k。比赛开始时,zlt和普什克都有一个初始分数。不幸的是,zlt丢失了记事本,那里记录了他们玩过的N个游戏的历史。他设法回忆了每一场比赛的最终结果,但是记忆都很模糊。

你需要帮zlt验证它们的正确性,或者,换句话说,对于每一对给定的分数,确定游戏是否能够完成这样的结果。

每一回合,zlt 和普什克的初始分数都是1

输入格式

第一行一个整数 n n (1<=n<=350000) (1<=n<=350000) ,代表游戏的局数

每一局游戏两个整数 a a , b b (1<=a,b<=109) (1<=a,b<=10^{9}) 代表 zlt 和普什克的分数

输出格式

n行,如果这个结果合法输出 "Yes",否则输出 "No"

样例 #1

样例输入 #1

6
2 4
75 45
8 8
16 16
247 994
1000000000 1000000

样例输出 #1

Yes
Yes
Yes
No
No
Yes

提示

第一局游戏,如果k是 2 2 ,回合数是1,那么这个结果可以成立

第二局游戏, 需要两个回合:第一个回合,zlt 选择 5 5 并且赢,第二个回合 普什克 选择 3 3 并且赢 第二局游戏 第一k可以是 2 2 ,第二个k也是 2 2 每个人各赢一次,每个人的得分都是

2 * 2 *2