//#include //#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define F first #define S second #define lb lower_bound #define ub upper_bound #define pb push_back #define pf push_front #define ppb pop_back #define mp make_pair #define bbp _builtin_popcount #define al 0x3F3F3F3F #define sz(x) x.size() #define all(x) x.begin(), x.end() #define in insert #define ppf pop_front #define endl '\n' #define resize(v) v.resize(unique(all(v)) - v.begin()); //#define int long long typedef unsigned long long ull; typedef long long ll; typedef long double ld; typedef pair pii; typedef pair pll; typedef pair pil; typedef pair < ll, int > pli; typedef pair pdd; typedef pair pid; typedef pair pdi; typedef pair pld; typedef pair pdl; typedef pair pss; const int mod = (int)1e9 + 7; const int MAX_N = (int)1e5 + 123; const int N = 1e6 + 123; const int INF = al; const ll INFL = 3e18 + 1; const double pi = acos(-1.0); const double eps = 1e-9; const int dx[] = {0, 0, 1, 0, -1}; const int dy[] = {0, 1, 0, -1, 0}; ll t, n, a[101]; inline int gcd(int a, int b) { if (!b) return a; return gcd(b, a % b); } inline void boost() { ios_base :: sync_with_stdio(NULL); cin.tie(NULL), cout.tie(NULL); } inline void Solve() { boost(); cin >> t; while (t --) { cin >> n; ll sum = 0; for (int i = 1; i <= n; i ++) cin >> a[i], sum += a[i]; if (sum % 3 == 0) cout << "Yes" << endl; else cout << "No" << endl; } } int main () { // freopen("B.in", "r", stdin); // freopen("B.out", "w", stdout); int tt = 1; while (tt--) { Solve(); } }