import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int round = in.nextInt();
for (int i = 0; i < round; i++) {
int n = in.nextInt(); // 表示方碑数量
long oddSum = 0;
long evenSum = 0;
result: {
// 处理n=1的边界情况:单个方碑已相等
if (n == 1) {
in.nextLong();
System.out.println("YES");
break result;
}
// 读取n个方碑的能量,按1-based索引分奇偶位求和
for (int j = 1; j <= n; j++) {
long num = in.nextLong();
if (j % 2 == 1) {
oddSum += num;
} else {
evenSum += num;
}
}
// 条件1:总能量必须能被n整除(否则无法均分)
long total = oddSum + evenSum;
if (total % n != 0) {
System.out.println("NO");
break result;
}
// 计算奇位数量和偶位数量
int oddCount = (n + 1) / 2; // 1-based索引的奇位数量(如n=3→2,n=4→2)
int evenCount = n / 2; // 1-based索引的偶位数量(如n=3→1,n=4→2)
// 条件2:奇位总和/奇位数量 == 偶位总和/偶位数量(均等于avg)
// 注:因total%n==0,且oddSum/oddCount == evenSum/evenCount,故必能整除(推导见前文)
if (oddSum / oddCount == evenSum / evenCount) {
System.out.println("YES");
} else {
System.out.println("NO");
}
}
}
in.close();
}
}