#include <set>          
#include <map>           
#include <list>
#include <ctime>
#include <deque>         
#include <bitset>        
#include <vector>
#include <list>
#include <stack>
#include <random>		 
#include <string>       
#include <numeric>      //  needed for  accumulate
#include <utility>     // needed for std:: move
#include <iterator> 
#include <fstream>
#include <iostream> 
#include <iomanip>  
#include <algorithm> 
#include <functional>  
#include <unordered_map>  
#include <unordered_set>
#include <cmath>   
#include <cstring>      
#pragma warning(disable:4996) // ignore this
#define ve vector
#define pb push_back
#define mp make_pair                     
#define srt(x) sort(x.begin(),x.end())         
#define mod static_cast<long long> (1e9+7)     
#define sumx(x) accumulate(x.begin(),x.end(),0LL)
#define all(x) x.begin(),x.end()
#define int2 int64_t
#define pi 3.14159265358979323846
#define testing 0
#define code_chef 1
#define code_jam 0
#define getcx getchar
#define rep(i,a,b) for(long long i=a;i<b;i++)
using namespace std;
template<typename T>
T max(T A)
{
	return A;
}
template<typename T, typename... args>
T max(T A, T B, args... S)
{
	return max(A > B ? A : B, S...);
}
template<typename T>
T min(T A)
{
	return A;
}
template<typename T, typename... args>
T min(T A, T B, args... S)
{
	return min(A > B ? A : B, S...);
}
template<typename T>
istream& operator >> (istream& in, ve<T> &v)
{
	for (auto &x : v)
		in >> x;
	return in;
}
template<typename T>
ostream& operator<<(ostream& in, ve<T> &v)
{
	for (auto &x : v)
		in << x << " ";
	return in;
}
long long fast(long long a, long long b, long long pr)
{
	if (b == 0)
		return 1 % pr;
	long long ans = 1 % pr;
	while (b)
	{
		if (b & 1)
		{
			ans *= a;
			ans %= pr;
		}
		b >>= 1;
		a *= a;
		a %= pr;
	}
	return ans;
}
int readInt()
{
	int m = 0;
	if (cin >> m)
		return m;
	exit(0);
	return m;
}
long long inv_(long long val)
{
	return fast(val, mod - 2, mod);
}
// Code code code
class solve
{
	int dig_sum(int x)
	{
		int y=0;
		while(x)
		{
			y+=x%10;
			x/=10;
		}
		return y;
	}
public:
	solve()
	{
		int n;
		cin >> n;
		int ds=0;
		for(int i=0;i<n;i++)
		{
			ds+=dig_sum(readInt());
		}
		if(ds%3)
		{
			cout <<"No\n";
		}
		else
			cout <<"Yes\n";
	}
};
int main()
{
	int t = 1, i = 0;
//	freopen("C:\\Users\\Xenor\\Documents\\sample\\New folder\\in.txt", "r", stdin);
	//freopen("C:\\Users\\Xenor\\Downloads\\gb2.txt","w",stdout);
	if (code_chef)
		scanf("%d", &t);
	while (t--)
	{
		if (code_jam)
			printf("Case #%d: ", i++);
		new solve;
	}
	return 0;
}