import java.util.Scanner;
public class Main {
static Scanner in = new Scanner(System.in);
public static void main(String[] args){
//케이스횟수
int caseN = in.nextInt();
//각 케이스별 값
boolean[] caseT = new boolean[caseN];
for(int i=0 ; i<caseN ; i++){
//배열크기 N
int n = in.nextInt();
//테스트 후 결과값 저장
caseT[i] = test(n);
}
for(int i=0 ; i<caseN ; i++){
System.out.println(caseT[i]? "YES":"NO");
}
}
public static boolean test(int n){
in.nextLine();
String[] ai = in.nextLine().split(" ");
int sum = 0; //총 합
int leftSum = 0; //왼쪽 합
boolean sumCheck = false;
int[] arr = new int[n];
for(int i=0 ; i<n ; i++){
arr[i] = Integer.parseInt(ai[i]);
sum += arr[i];
}
//n번 돌거나 양쪽의 합이 같은 값이 될때까지 수행
for(int i=0 ; i<n && !sumCheck; i++){
//총합-(왼쪽+자신)=오른쪽 값이기 때문에 같지 않다면 leftSum에 자신을 더한다
if(sum-(leftSum+arr[i]) != leftSum){
leftSum += arr[i];
}else{
//값이 같기에 값을 참값으로 바꾼다
sumCheck = true;
}
}
return sumCheck;
}
}