等比数列构造者

题目描述

给定三个整数 a,b,ca, b, c

你必须执行恰好一次如下操作:

  • 选择一个非零整数 mm
  • 选择 a,b,ca, b, c 中的一个数,将其乘以 mm

操作完成后,你可以对这三个数进行任意重新排列。请判断是否存在一种选择方案(选择哪个数乘以哪个 mm),使得最终得到的三个数可以构成一个等比数列。

一个包含三个数 {x,y,z}\{x, y, z\} 的集合能构成等-比数列,当且仅当它们可以被排列成 p,q,rp, q, r 的形式,满足 q2=prq^2 = p \cdot r

输入格式

输入包含多组测试数据。

第一行输入一个整数 tt,表示测试数据的组数。

对于每组测试数据: 在一行上输入三个整数 a,b,ca, b, c

输出格式

对于每组测试数据,输出一行。若存在可行的方案,输出 YES;否则输出 NO

样例

样例输入

4
2 3 6
1 2 3
2 4 8
5 1 25
-2 -6 -18
4 6 3
0 1 2

样例输出

YES
NO
YES
YES
YES
YES
YES

提示

样例说明

  • 对于 2 3 6:可以选择将 2 乘以 6,得到集合 {12, 3, 6}。这三个数可以排列成 3, 6, 12,这是一个公比为 2 的等比数列(62=3×126^2 = 3 \times 12)。因此输出 YES
  • 对于 1 2 3:无法通过操作使其构成等比数列。
  • 对于 2 4 8:这本身就是一个等比数列。我们可以选择将任意一个数乘以 1,得到原数列,因此输出 YES
  • 对于 4 6 3:可以选择将 4 乘以 3,得到 {12, 6, 3},可以排列成 3, 6, 12。也可以选择将 3 乘以 8 得到 {4, 6, 24},可以排列成 4, \sqrt{96}, 24 但公比不是有理数,这里不能这么理解。应该这么理解:将 4 乘以 m=9/4m=9/4 可以得到 9,6,39, 6, 3,但是 mm 必须是整数。重新考虑,4 6 3,乘以 4 一个 mm: 4m, 6, 36^2 = 4m*3 -> 36 = 12m -> m=3,得到 {12, 6, 3}
  • 对于 0 1 2:可以选择将 1 乘以 0,得到 {0, 0, 2}。这可以排列成 2, 0, 0,满足 02=2×00^2 = 2 \times 0。因此输出 YES

数据范围与约定

对于 100%100\% 的数据,保证:

  • 1t1041 \le t \le 10^4
  • 109a,b,c109-10^9 \le a, b, c \le 10^9
  • 注意,操作中选择的乘数 mm 可以是任意非零整数。
  • 如果三个数中包含零,例如 {x,0,0}\{x, 0, 0\} (xx 为任意数),也视为可以构成等比数列。