#include <bits/stdc++.h>
using namespace std;
int main() {
  int T;
  scanf("%d", &T);
  while (T--) {
    long long n, k, d1, d2;
    scanf("%I64d%I64d%I64d%I64d", &n, &k, &d1, &d2);
    if (n % 3) {
      puts("no");
      continue;
    }
    bool ok = false;
    for (int s1 = -1; s1 <= 1; s1 += 2) {
      for (int s2 = -1; s2 <= 1; s2 += 2) {
        long long delta1 = d1 * s1;
        long long delta2 = d2 * s2;
        long long t = k - delta1 - delta2;
        if (t < 0 || t % 3 != 0) continue;
        long long x2 = t / 3;
        long long x1 = x2 + delta1;
        long long x3 = x2 + delta2;
        assert(x1 + x2 + x3 == k);
        if (x1 < 0 || x3 < 0) continue;
        long long M = max(x1, max(x2, x3));
        long long need = M - x1 + M - x2 + M - x3;
        if (need <= n - k && (n - k - need) % 3 == 0) {
          ok = true;
          break;
        }
      }
      if (ok) break;
    }
    printf("%s\n", ok ? "yes" : "no");
  }
  return 0;
}
