#include #include #include using namespace std; using namespace __gnu_pbds; #define mod 1000000007 #define MAX 1000000000000000 #define all(v) v.begin(),v.end() #define rep(i,a,b) for(i=(ll)a;i<(ll)b;i++) #define revrep(i,a,b) for(i=(ll)a;i>=(ll)b;i--) #define ii pair > #define MP make_pair #define pb push_back #define f first #define se second #define ll long long int #define vi vector ll modexp(ll a,ll b){ ll res = 1; while(b > 0){ if(b & 1) res = (res * a)%mod; a = (a * a)%mod; b/=2; } return res; } #define rs resize typedef tree< ll, null_type, less, rb_tree_tag, tree_order_statistics_node_update > OST; #define TRACE #ifdef TRACE #define trace(...) __f(#__VA_ARGS__, __VA_ARGS__) template void __f(const char* name, Arg1&& arg1){ cout << name << " : " << arg1 << endl; } template void __f(const char* names, Arg1&& arg1, Args&&... args){ const char* comma = strchr(names + 1, ','); cout.write(names, comma - names) << " : " << arg1<<" | ";__f(comma+1, args...); } #else #define trace(...) #endif const ll N = 100009; ll t,i,n,s,a; int main() { std::ios_base::sync_with_stdio(false); cin.tie(NULL); cin>>t; while(t--){ cin>>n; s = 0; rep(i,0,n) cin>>a,s+=a; cout<<(s%3 == 0 ? "Yes" : "No")<