description: You are given a sequence of n integers a_1,   a_2,   ...,   a_n.
  
  Does there exist a sequence of n integers b_1,   b_2,   ...,   b_n such that the following property holds?
  
    * For each 1 ≤ i ≤ n, there exist two (not necessarily distinct) indices j and k (1 ≤ j,   k ≤ n) such that a_i = b_j - b_k. 
  
  Input
  
  The first line contains a single integer t (1 ≤ t ≤ 20) — the number of test cases. Then t test cases follow.
  
  The first line of each test case contains one integer n (1 ≤ n ≤ 10).
  
  The second line of each test case contains the n integers a_1,   ...,   a_n (-10^5 ≤ a_i ≤ 10^5).
  
  Output
  
  For each test case, output a line containing YES if a sequence b_1,   ...,   b_n satisfying the required property exists, and NO otherwise.
  
  Example
  
  Input
  
  
  5
  5
  4 -7 -1 5 10
  1
  0
  3
  1 10 100
  4
  -3 2 10 2
  9
  25 -171 250 174 152 242 100 -205 -258
  
  
  Output
  
  
  YES
  YES
  NO
  YES
  YES
  
  Note
  
  In the first test case, the sequence b = [-9,   2,   1,   3,   -2] satisfies the property. Indeed, the following holds: 
  
    * a_1 = 4 = 2 - (-2) = b_2 - b_5; 
    * a_2 = -7 = -9 - (-2) = b_1 - b_5; 
    * a_3 = -1 = 1 - 2 = b_3 - b_2; 
    * a_4 = 5 = 3 - (-2) = b_4 - b_5; 
    * a_5 = 10 = 1 - (-9) = b_3 - b_1. 
  
  
  
  In the second test case, it is sufficient to choose b = [0], since a_1 = 0 = 0 - 0 = b_1 - b_1.
  
  In the third test case, it is possible to show that no sequence b of length 3 satisfies the property.
solution: import java.io.*;
  
  import java.util.*;
   public class Solution {
  	 
  	
  	public static void main(String[] args) throws Exception
      {
  		FastReader fr=new FastReader();
  	    int t=fr.nextInt();
  	  
  	     while(t-->0) {
  	    	    
  	    	   int n=fr.nextInt();
  	    	   int a[]=new int [n];
  	    	   for(int i=0;i<n;i++) {
  	    		   a[i]=fr.nextInt();
  	    	   }
  	    	   int setsize=(int)(Math.pow(2,n));
  	    	   HashMap<Long,Integer> map=new HashMap<>();
  	    	   for(int i=0;i<setsize;i++) {
  	    		   long sum=0;
  	    		   for(int j=0;j<n;j++) {
  	    			   if((i&(1<<j))>0)
  	    				   sum+=a[j];
  	    		   }
  	    		   map.put(sum,map.getOrDefault(sum,0)+1);
  	    	   }
  	    	   boolean pos=false;
  	    	   for(int val:map.values()) {
  	    		   if(val>1) {
  	    			   pos=true;break;
  	    		   }
  	    	   }
  	    	   if(pos)
  	    		   System.out.println("YES");
  	    	   else
  	    		   System.out.println("NO");
  	    	 
  	    	
  	    	
  	    }
  	     
      }
  	
  
  	
  	public static long getPairs(int a[],int l,int r,int low,int high) {
  		long i=low;
  		long j=high; long left=-1;long right=-1;
  		while(i<=j) {
  			long mid=(i+j)/2;
  			if(a[(int)mid]+a[high+1]>=l) {
  				left=mid;j=mid-1;
  			}
  			else
  				i=mid+1;
  		}
  		if(left==-1)
  			return 0;
  		
  		i=low;j=high;
  		while(i<=j) {
  			long mid=(i+j)/2;
  			if(a[(int)mid]+a[high+1]<=r) {
  				right=mid;i=mid+1;
  			}
  			else
  				j=mid-1;
  		}
  		
  		if(right==-1)
  			return 0;
  		
  		return right-left+1;
  		
  	}
  	
  	
  	 
  public static String lcs(String a,String b) {
  		int dp[][]=new int[a.length()+1][b.length()+1];
  		for(int i=0;i<=a.length();i++)
  		{
  			for(int j=0;j<=b.length();j++)
  			{
  				if(i==0||j==0)
  					dp[i][j]=0;
  			}
  		}
  		
  		for(int i=1;i<=a.length();i++)
  		{
  			for(int j=1;j<=b.length();j++)
  			{
  				if(a.charAt(i-1)==b.charAt(j-1))
  					dp[i][j]=1+dp[i-1][j-1];
  				else
  					dp[i][j]=Math.max(dp[i-1][j],dp[i][j-1]);
  			}
  		}
  		
  		int i=a.length();
  		int j=b.length();
  		String lcs="";
  		while(i>0&&j>0)
  		{
  			if(a.charAt(i-1)==b.charAt(j-1)) {
  				lcs=a.charAt(i-1)+lcs;
  				i--;
  				j--;
  			}
  			else 
  			{
  				if(dp[i-1][j]>dp[i][j-1])
  					i--;
  				else
  					j--;
  			}
  		}
  		
  		return lcs;
              
  	}
  	
  	 
  	 
  	 
  	 public static long facto(long n) {
  		 if(n==1||n==0)
  			 return 1;
  		 return n*facto(n-1);
  	 }
  	 public static long gcd(long n1,long n2) {
  		 if (n2 == 0) {
  		        return n1;
  		    }
  		    return gcd(n2, n1 % n2);
  	}
  	 public static boolean isPali(String s) {
  		 int i=0;
  		 int j=s.length()-1;
  		 while(i<=j) {
  			 if(s.charAt(i)!=s.charAt(j))
  				 return false;
  			 i++;
  			 j--;
  		 }
  		 return true;
  	 }
  	 public static String reverse(String s) {
  		 String res="";
  		 for(int i=0;i<s.length();i++) {
  			 res+=s.charAt(i);
  		 }
  		 return res;
  	 }
  	
  		
  	 
  	 public static int bsearch(long suf[],long val) {
  		 int i=0;
  		 int j=suf.length-1;
  		 while(i<=j) {
  			 int mid=(i+j)/2;
  			 if(suf[mid]==val)
  				 return mid;
  			 else if(suf[mid]<val)
  				 j=mid-1;
  			 else
  				 i=mid+1;
  		 }
  		 return -1;
  	 }
  	 
  	 
  	 
  	
  	 
  	 
  	public static int[] getFreq(String s) {
  		int a[]=new int[26];
  		for(int i=0;i<s.length();i++) {
  			a[s.charAt(i)-'a']++;
  		}
  		return a;
  		
  	}
  	 
  	 public static boolean isPrime(int n) {
  		 
  		 for(int i=2;(i*i)<=n;i++) {
  			 if(n%i==0)
  				 return false;
  		 }
  		 return true;
  	 }
              	  
               
               
      }
  class Pair implements Comparable<Pair>{
  	int start;
  	int end;
  	Pair(int start,int end){
  		this.start=start;
  		this.end=end;
  	}
  	public int compareTo(Pair o) {
  		return this.start-o.start;
  	}
  	
  }
  
  	
  	 
  	
  	
  
  	 
   
    
  
  class FastReader
  {
      BufferedReader br;
      StringTokenizer st;
   
      public FastReader()
      {
          br = new BufferedReader(new
                  InputStreamReader(System.in));
      }
   
      String next()
      {
          while (st == null || !st.hasMoreElements())
          {
              try
              {
                  st = new StringTokenizer(br.readLine());
              }
              catch (IOException e)
              {
                  e.printStackTrace();
              }
          }
          return st.nextToken();
      }
   
      int nextInt()
      {
          return Integer.parseInt(next());
      }
   
      long nextLong()
      {
          return Long.parseLong(next());
      }
   
      double nextDouble()
      {
          return Double.parseDouble(next());
      }
   
      String nextLine()
      {
          String str = "";
          try
          {
              str = br.readLine();
          }
          catch (IOException e)
          {
              e.printStackTrace();
          }
          return str;
      }
  }
  
  