#include using namespace std; #define SHORT_INF 0x3f3f #define INT_INF 0x3f3f3f3f #define LL_INF 0x3f3f3f3f3f3f3f3f #define D_INF numeric_limits::infinity() #define pb push_back #define mp make_pair #define l(x) ((x) << 1) #define r(x) ((x) << 1 | 1) #define m(x, y) ((x) + ((y) - (x)) / 2) #define MIN(a, b) ((a) = min((a), (b))) #define MAX(a, b) ((a) = max((a), (b))) #define f first #define s second #define ri(x) scanf("%d", &x) #define rll(x) scanf("%lld", &x) #define rllu(x) scanf("%llu", &x) #define rf(x) scanf("%f", &x) #define rd(x) scanf("%lf", &x) #define rld(x) scanf("%Lf", &x) #define rc(x) scanf(" %c", &x) #define sc(x) do { scanf("%c", &x); } while (isspace(x)) #define rs(x) scanf("%s", x) #define For(i, a, b) for (int i = (a); i < (b); i++) #define FOR(i, b) For(i, 0, b) #define Forit(i, c) for (auto i = (c).begin(); i != (c).end(); i++) #define Rev(i, a, b) for (int i = (a); i > (b); i--) #define REV(i, a) Rev(i, a, -1) #define Revit(i, c) for (auto i = (c).rbegin(); i != (c).rend(); i++) #define set0(a) memset((a), 0, sizeof(a)) #define Fill(a, x, n) FOR(_, n) (a)[_] = (x) #define Fill2(a, x, n, m) FOR(_, n) FOR(__, m) (a)[_][__] = (x) #define Fill3(a, x, n, m, p) FOR(_, n) FOR(__, m) FOR(___, p) (a)[_][__][___] = (x) #define randi(a, b) (rand() % ((b) - (a) + 1) + (a)) #define sz(a) ((int) (a).size()) #define len(a) ((int) (a).length()) typedef long long ll; typedef unsigned long long llu; typedef long double ld; #define uset unordered_set #define umap unordered_map #define pq priority_queue typedef pair pii; typedef pair pdd; typedef pair pll; typedef pair pill; typedef pair plli; typedef map mii; typedef map mill; typedef map mlli; typedef map mll; typedef umap umii; typedef umap umill; typedef umap umlli; typedef umap umll; template using minpq = pq, greater>; template using maxpq = pq, less>; #define debug(fmt, x) fprintf(stderr, "%d::%s = " fmt, __LINE__, #x, (x)); fflush(stderr) #define debug2(x) cerr << __LINE__ << "::" << #x << " = " << (x) << '\n' << flush #define debugva(fmt, ...) fprintf(stderr, "%d::%s = " fmt, __LINE__, #__VA_ARGS__, __VA_ARGS__); fflush(stderr) #define debugarr(fmt, x, a, b) fprintf(stderr, "%d::%s = {", __LINE__, #x); For(_, a, b) { if (_ != (a)) { fprintf(stderr, ", "); } fprintf(stderr, fmt, (x)[_]); } fprintf(stderr, "}\n"); fflush(stderr) #define debugarr2(x, a, b) cerr << __LINE__ << "::" << #x << " = {"; For(_, a, b) { if (_ != (a)) { cerr << ", "; } cerr << (x)[_]; } cerr << "}\n" << flush template struct pair_hash {size_t operator ()(const pair &p) const {return 31 * hash {}(p.first) + hash {}(p.second);}}; int T, N, a; int main() { ri(T); FOR(t, T) { ri(N); int sum = 0; FOR(i, N) { ri(a); while (a > 0) { sum += a % 10; a /= 10; } } printf(sum % 3 == 0 ? "Yes\n" : "No\n"); } return 0; }