元素
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}给定长度为 n 的数组 a_1,a_2,\dots,a_n,现在你可以任意次执行以下操作之一:
\hspace{23pt}\bullet\,选择两个不同下标 i,j (i\neq j),满足 a_ia_j 奇偶性不同,然后,
\hspace{38pt}\circ\,a_i < a_j,则 a_i:=a_i+1 并且 a_j:=a_j-1
\hspace{38pt}\circ\,a_i > a_j,则 a_i:=a_i-1 并且 a_j:=a_j+1
\hspace{23pt}\bullet\,选择两个不同下标 i,j (i\neq j),满足 a_i 的绝对值与 a_j 的绝对值互质,然后,从四种操作中任选一种执行
\hspace{38pt}\circ\,a_i:=a_i+1
\hspace{38pt}\circ\,a_i:=a_i-1
\hspace{38pt}\circ\,a_j:=a_j+1
\hspace{38pt}\circ\,a_j:=a_j-1

\hspace{15pt}判断是否可以通过若干次操作(可以是零次)使得数组 a所有元素相同

【名词解释】
\hspace{15pt}互质:多个整数的最大的共有约数(简称最大公约数,gcd)如果恰好为 1,被称它们为互质的。例如,1230 的公约数有 1,2,3,6,其中最大的约数是 6,所以它们不是互质的;57 的公约数仅有 1,所以它们是互质的。特别地,整数 0 和任何整数都不互质。

输入描述:

\hspace{15pt}每个测试文件均包含多组测试数据。第一行输入一个整数 T\left(1\leqslant T\leqslant 10\right) 代表数据组数,每组测试数据描述如下:

\hspace{15pt}第一行输入一个整数 n \left (1\leqslant n\leqslant 10^3\right ),表示数组 a 的长度。
\hspace{15pt}第二行输入 n 个整数 a_1,a_2,\dots,a_n \left (1\leqslant a_i\leqslant 10^9\right ),表示数组元素。

\hspace{15pt}除此之外,保证单个测试文件的 n 之和不超过 10^3

输出描述:

\hspace{15pt}对于每一组测试数据,新起一行。若可以通过若干次操作(可以是零次)使得数组 a 中所有元素相同,输出 \texttt{YES};否则,输出 \texttt{NO}
示例1

输入

复制
5
5
1 2 3 4 5
3
15 3 9
4
1 2 2 1
5
2 6 8 4 10
2
3 5

输出

复制
YES
NO
YES
NO
YES