当前没有测试数据。
题目描述
给你一个由 n 个正整数组成的数组 a 。你可以对它进行以下操作:
- 选择一对元素 ai 和 aj ( 1≤i,j≤n 和 i=j );
-
- 从整数 ai 的除数中选择一个,即整数 x ,使得 aimodx=0 ;
- 将 ai 替换为 xai ,将 aj 替换为 aj⋅x 。
确定是否有可能通过一定次数(可能为零)的运算使数组中的所有元素都相同。
例如,数组 $a = [ 100,2,50,10,1 ]$包含 5 个元素。对它进行两次操作:
- 选择 a3=50 和 a2=2 , x=5 。将 a3 替换为 xa3=550=10 ,将 a2 替换为 a2⋅x=2⋅5=10 。得到的数组是 a = [ 100,10,10,10,1 ];
- 选择 a1=100 和 a5=1 , x=10 .将 a1 替换为 xa1=10100=10 ,将 a5 替换为 a5⋅x=1⋅10=10 。得到的数组是 a = [ 10,10,10,10,10 ]。
执行这些运算后,数组 a 中的所有元素都等于 10 。
输入
输入的第一行包含一个整数 t ( 1≤t≤2000 )。( 1≤t≤2000 ) - 测试用例数。
然后是每个测试用例的描述。
每个测试用例的第一行包含一个整数 n ( 1≤n≤104 ) - 数组 a 中的元素个数。
每个测试用例的第二行包含 n 个整数 ai ( 1≤ai≤106 ) - 数组 a 中的元素。
保证所有测试用例中 n 的总和不超过 104 。
输出
为每个测试用例输出一行:
- 如果通过执行一定次数(可能为零)的操作可以使数组中的所有元素相等,则输出 "YES";
- 否则输出 "否"。
样例输入
7
5
100 2 50 10 1
3
1 1 1
4
8 2 4 2
4
30 50 27 20
2
75 40
2
4 4
3
2 3 1
样例输出
YES
YES
NO
YES
NO
YES
NO