#include #include using namespace std; int N; long A[150000]; long B[150000]; vectorids[150001]; vectorc[1<<20]; vectornow; bool dfs(int id,int sum) { if(id==N)return false; if(dfs(id+1,sum))return true; sum+=A[id]; now.push_back(id); if(sum<1<<20) { if(c[sum].empty()) { c[sum]=now; if(dfs(id+1,sum))return true; } else { for(int i:c[sum])B[i]=1; for(int j:now) { if(B[j]==1)B[j]=0; else B[j]=-1; } for(int k=0;k>N; for(int i=0;i>A[i]; ids[A[i]].push_back(i); } if(N<=18) { for(int I=1;I<1<>k&1) { if(J>>k&1)B[k]=A[k]; else B[k]=-A[k]; } else B[k]=0; sum+=B[k]; } if(sum==0) { cout<<"Yes"<=2) { cout<<"Yes"<