#include <bits/stdc++.h>
using namespace std;
int T;
long long n, k, d1, d2;
long long x1, x2, x3;
bool good() {
  x1 = (k + d1 + d2) / 3;
  x2 = x1 - d1;
  x3 = x1 - d2;
  return (k + d1 + d2) % 3 == 0 && min(min(x1, x2), x3) >= 0 &&
         max(max(x1, x2), x3) <= n / 3;
}
int main() {
  scanf("%d", &T);
  for (int t = 0; t < T; t++) {
    scanf("%lld %lld %lld %lld", &n, &k, &d1, &d2);
    if (n % 3) {
      printf("no\n");
      continue;
    }
    if (good()) {
      printf("yes\n");
      continue;
    }
    d1 *= -1;
    if (good()) {
      printf("yes\n");
      continue;
    }
    d2 *= -1;
    if (good()) {
      printf("yes\n");
      continue;
    }
    d1 *= -1;
    if (good()) {
      printf("yes\n");
      continue;
    }
    printf("no\n");
  }
}
