#include <bits/stdc++.h>
using namespace std;
const long long N = 10;
bool valid(long long x, long long y, long long z) {
  if (x < 0) return false;
  if (y < 0) return false;
  if (z < 0) return false;
  return true;
}
int main() {
  long long t;
  cin >> t;
  while (t--) {
    long long n, k, d1, d2, diff, sum, mx;
    long long i, w1, w2, w3;
    bool flag = false;
    cin >> n >> k >> d1 >> d2;
    diff = n - k;
    if (n % 3) {
      cout << "no\n";
      continue;
    }
    for (i = 1; i <= 4; i++) {
      if (i == 1) {
        w2 = (k - d1 - d2) / 3;
        w1 = w2 + d1;
        w3 = w2 + d2;
      }
      if (i == 2) {
        w2 = (k + d1 - d2) / 3;
        w1 = w2 - d1;
        w3 = w2 + d2;
      }
      if (i == 3) {
        w2 = (k - d1 + d2) / 3;
        w1 = w2 + d1;
        w3 = w2 - d2;
      }
      if (i == 4) {
        w2 = (k + d1 + d2) / 3;
        w1 = w2 - d1;
        w3 = w2 - d2;
      }
      mx = max({w1, w2, w3});
      if (valid(w1, w2, w3)) {
        sum = mx * 3 - w1 - w2 - w3;
        flag |= (sum <= diff && !((diff - sum) % 3));
      }
    }
    cout << (flag ? ("yes\n") : ("no\n"));
  }
  return 0;
}
