import java.util.Scanner;

/**
 * @author supermejane
 * @date 2025/10/3
 * @description
 */
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        int n = in.nextInt();
        while(n-- > 0) {
            int len = in.nextInt();
            Long oddSum = 0L, evenSum = 0L; //注意精度
            boolean result = false;
            //true加奇数
            boolean sign = true;
            for (int i = 0; i < len; i++) {
                int a = in.nextInt();
                if (sign) {
                    evenSum += a;
                } else {
                    oddSum += a;
                }
                sign = !sign;
            }
            Long totalSum = oddSum + evenSum;
            Long avg = totalSum / len;
            if (avg * len == totalSum) {
                int oddCount = len / 2, evenCount = len - oddCount;
                if (oddSum == avg * oddCount && evenSum == avg * evenCount) result = true;
            }
            System.out.println(result ? "YES" : "NO");
        }
    }
}
//奇数之间是连通的,偶数之间也是,奇偶之间不连通
//由于相邻奇数之间连通,等价于所有的奇数之间都是连通的,可以随意分配到任何想要的状态,所以只取决于数量之和,和初始的位置不相关。