#include <bits/stdc++.h>
using namespace std;
bool isPossible(long long n, long long k, long long d1, long long d2) {
  int i, j;
  if (n % 3 != 0) return false;
  for (i = -1; i <= 1; i += 2)
    for (j = -1; j <= 1; j += 2) {
      long long D1 = d1 * i;
      long long D2 = d2 * j;
      if ((k - 2 * D2 - D1) % 3 != 0) continue;
      long long x[3];
      x[2] = (k - 2 * D2 - D1) / 3;
      x[1] = x[2] + D2;
      x[0] = x[1] + D1;
      if ((x[2] >= 0 && x[2] <= k) && (x[1] >= 0 && x[1] <= k) &&
          (x[0] >= 0 && x[0] <= k))
        if (x[2] <= n / 3 && x[1] <= n / 3 && x[0] <= n / 3) return true;
    }
  return false;
}
int main(void) {
  int T;
  scanf("%i", &T);
  while (T--) {
    long long n, k, d1, d2;
    scanf("%lld %lld %lld %lld", &n, &k, &d1, &d2);
    if (isPossible(n, k, d1, d2))
      printf("yes\n");
    else
      printf("no\n");
  }
  return 0;
}
