#include <bits/stdc++.h>
bool solve(long long k, long long y, long long z, long long &x1, long long &x2,
           long long &x3) {
  if ((k - y - 2 * z) % 3 != 0) return (false);
  x3 = (k - y - 2 * z) / 3;
  x2 = x3 + z;
  x1 = x2 + y;
  return (x1 >= 0 && x2 >= 0 && x3 >= 0);
}
bool canwin(long long n, long long x1, long long x2, long long x3) {
  if (n % 3 != 0) return (false);
  long long t = n / 3;
  if (x1 > t) return (false);
  if (x2 > t) return (false);
  if (x3 > t) return (false);
  return (true);
}
bool test(void) {
  long long n, k, d1, d2;
  scanf("%I64d%I64d%I64d%I64d", &n, &k, &d1, &d2);
  long long x1, x2, x3;
  for (int i1 = 0; i1 < (2); i1 = i1 + 1)
    for (int i2 = 0; i2 < (2); i2 = i2 + 1)
      if (solve(k, i1 ? d1 : -d1, i2 ? d2 : -d2, x1, x2, x3) &&
          canwin(n, x1, x2, x3))
        return (true);
  return (false);
}
int main(void) {
  int t;
  scanf("%d", &t);
  for (int zz = 0; zz < (t); zz = zz + 1)
    if (test())
      printf("yes\n");
    else
      printf("no\n");
  return 0;
}
