#include <bits/stdc++.h>
long long val(long long *a, long long *b, long long *c, long long k,
              long long d1, long long d2) {
  *c = k - (d1 + 2 * d2);
  if (*c % 3 != 0) return 0;
  *c /= 3;
  *b = *c + d2;
  *a = *c + d1 + d2;
}
int main() {
  long long t, a, b, c, n, k, d1, d2, i, j;
  scanf("%lld", &t);
  for (i = 1; i <= t; i++) {
    scanf("%lld %lld %lld %lld", &n, &k, &d1, &d2);
    if (n % 3 != 0) {
      printf("no\n");
      continue;
    }
    a = -1;
    b = -1;
    c = -1;
    val(&a, &b, &c, k, d1, d2);
    if (!(a < 0 || b < 0 || c < 0 || a > n / 3 || b > n / 3 || c > n / 3 ||
          a + b + c != k)) {
      printf("yes\n");
      continue;
    }
    val(&a, &b, &c, k, d1, -d2);
    if (!(a < 0 || b < 0 || c < 0 || a > n / 3 || b > n / 3 || c > n / 3 ||
          a + b + c != k)) {
      printf("yes\n");
      continue;
    }
    val(&a, &b, &c, k, -d1, d2);
    if (!(a < 0 || b < 0 || c < 0 || a > n / 3 || b > n / 3 || c > n / 3 ||
          a + b + c != k)) {
      printf("yes\n");
      continue;
    }
    val(&a, &b, &c, k, -d1, -d2);
    if (!(a < 0 || b < 0 || c < 0 || a > n / 3 || b > n / 3 || c > n / 3 ||
          a + b + c != k)) {
      printf("yes\n");
      continue;
    }
    printf("no\n");
  }
  return 0;
}
