process.stdin.resume(); process.stdin.setEncoding('ascii'); var input_stdin = ""; var input_stdin_array = ""; var input_currentline = 0; process.stdin.on('data', function (data) { input_stdin += data; }); process.stdin.on('end', function () { input_stdin_array = input_stdin.split("\n"); main(); }); function readLine() { return input_stdin_array[input_currentline++]; } /////////////// ignore above this line //////////////////// function canConstruct(a) { // Return "Yes" or "No" denoting whether you can construct the required number. const digits = a.map(toDigits); const sum = sumArray(digits.map(sumArray)); return sum % 3 === 0 ? 'Yes': 'No'; } function toDigits(num) { const digits = []; while (Math.floor(num / 10) > 0) { digits.push(num % 10); num = Math.floor(num / 10); } digits.push(num); return digits; } function sumArray(arr) { return arr.reduce(function (acc, el) { return acc + el; }, 0); } function main() { var t = parseInt(readLine()); for(var a0 = 0; a0 < t; a0++){ var n = parseInt(readLine()); a = readLine().split(' '); a = a.map(Number); var result = canConstruct(a); process.stdout.write("" + result + "\n"); } }