#include using namespace std; #define db(x){if(cond)cerr<<__LINE__<<" "<<#x<<" " <=(b);--i) #define all(x) (x).begin(),(x).end() #define vv vector #define pb push_back templatevoid MA(X&a,X b){a=max(a,b);}templatevoid MI(X&a,X b){a=min(a,b);} templatevoid clr(X&x,int a){memset(x,a,sizeof(a));};typedef long long ll;typedef long double ld; typedef arrayi2;typedef vvvi;int cond=0,multi=1,gcj=0; struct solver_t;solver_t *solver; struct solver_t{ void solve(){ int N;cin>>N; vi A(N);rep(i,N)cin>>A[i]; ll sum=0; rep(i,N)sum+=A[i]; if(sum%3==0)cout<<"Yes\n";else cout<<"No\n"; } void gen(){} void brute(){} }; int main(int argc,char** argv){ fo(i,1,argc-1)if(argv[i]==string("q"))cond=1<<30; fo(i,1,argc-1)if(argv[i]==string("gen")){(solver=new solver_t())->gen();exit(0);} fo(i,1,argc-1)if(argv[i]==string("brute")){(solver=new solver_t())->brute();exit(0);} ios::sync_with_stdio(false),cin.tie(0); cout.setf(ios::fixed),cout.precision(10);int t;if(multi||gcj)cin>>t;else t=1; fo(i,1,t){if(cond)cerr<<__LINE__<<" "<solve(); }return 0; }