Subset sumeasy problem.....testcase 2,3 failed

#include<bits/stdc++.h>
using namespace std;
bool sub(int a[],vector out,int i,int j,int n)
{
if(i==n)
{
int sum=0;
for(int ss=0;ss<j;ss++){
sum+=out[ss];}

	if(j>1&&sum==0)

{return true;
}

	return  false;
}

out[j]=a[i];


if(sub(a,out,i+1,j+1,n)==true)

{return true;}

else{
return sub(a,out,i+1,j,n);

}

}
int main() {

int t;
cin>>t;
while(t–){
int a[1000];

int n;
cin>>n;
vector out(n,0);
int k=0;
for(int i=0;i<n;i++)
{cin>>a[i];}

if(sub(a,out,0,0,n)==true)

{cout<<“Yes”<<endl;}
else
{cout<<“No”<<endl;}
}

return 0;

}