#include <bits/stdc++.h>
using namespace std;
void FastIO() {
  ios_base::sync_with_stdio(0);
  cin.tie(NULL);
  cout.tie(NULL);
}
int64_t modpow(int64_t a, int64_t p, int64_t mod) {
  int64_t ret = 1;
  while (p) {
    if (p & 1) ret = (ret * a) % mod;
    a = (a * a) % mod;
    p /= 2;
  }
  return ret;
}
int64_t power(int64_t a, int64_t p) {
  int64_t ret = 1;
  while (p) {
    if (p & 1) ret = (ret * a);
    a = (a * a);
    p /= 2;
  }
  return ret;
}
int main() {
  FastIO();
  int t;
  scanf("%d", &t);
  while (t--) {
    int64_t n, k, d1, d2;
    scanf("%I64d%I64d%I64d%I64d", &n, &k, &d1, &d2);
    bool f = 0;
    int64_t a, b, c;
    a = (k + d1 * 2 + d2);
    if (a % 3 == 0) {
      a /= 3;
      b = a - d1;
      c = a - d1 - d2;
      if (a >= 0 && b >= 0 && c >= 0)
        if (k + d1 * 2 + d2 <= n && (n - k - d1 * 2 - d2) % 3 == 0) f = 1;
    }
    b = (k - d1 - d2);
    if (b >= 0 && b % 3 == 0) {
      b /= 3;
      a = b + d1;
      c = b + d2;
      int64_t mx = max(a, c);
      int64_t req = mx - a + mx - b + mx - c;
      if (a >= 0 && b >= 0 && c >= 0)
        if (k + req <= n && (n - k - req) % 3 == 0) f = 1;
    }
    b = (k + d1 + d2);
    if (b % 3 == 0) {
      b /= 3;
      a = b - d1;
      c = b - d2;
      if (a >= 0 && b >= 0 && c >= 0)
        if (k + d1 + d2 <= n && (n - k - d1 - d2) % 3 == 0) f = 1;
    }
    c = (k + d1 + d2 * 2);
    if (c % 3 == 0) {
      c /= 3;
      b = c - d2;
      a = c - d1 - d2;
      if (a >= 0 && b >= 0 && c >= 0)
        if (k + d1 + d2 * 2 <= n && (n - k - d1 - d2 * 2) % 3 == 0) f = 1;
    }
    printf(f ? "yes\n" : "no\n");
  }
  return 0;
}
