#include <bits/stdc++.h>
using namespace std;
long long mod = 1e9 + 7;
long long modexp(long long x, long long n) {
  if (n == 0) return 1;
  if (n % 2 == 0) {
    long long y = modexp(x, n / 2) % mod;
    return (y * y) % mod;
  }
  return (x * modexp(x, n - 1) % mod) % mod;
}
long long modularExponentiation(long long x, long long n, long long M) {
  if (n == 0)
    return 1;
  else if (n % 2 == 0)
    return modularExponentiation((x * x) % M, n / 2, M);
  else
    return (x * modularExponentiation((x * x) % M, (n - 1) / 2, M)) % M;
}
long long modInverse(long long A, long long M) {
  return modularExponentiation(A, M - 2, M);
}
long long n, k;
bool solve(long long x, long long y, long long z) {
  if (n % 3 != 0 || x + y + z > k || (k - x - y - z) % 3 != 0 || (x < 0) ||
      y < 0 || z < 0)
    return 0;
  long long rem = n - k + x + y + z;
  if (rem % 3 == 0 && x <= rem / 3 && y <= rem / 3 && z <= rem / 3) return 1;
  return 0;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long t;
  cin >> t;
  while (t--) {
    long long d1, d2;
    cin >> n >> k >> d1 >> d2;
    long long s = 0;
    long long x = d1, y = 0, z = d2;
    s |= solve(x, y, z);
    x = 0, y = d2, z = d2 - d1;
    s |= solve(x, y, z);
    x = 0, y = d2, z = d2 + d1;
    s |= solve(x, y, z);
    x = 0, y = d1, z = d1 + d2;
    s |= solve(x, y, z);
    x = 0, y = d1, z = d1 - d2;
    s |= solve(x, y, z);
    if (s == 1)
      cout << "yes\n";
    else
      cout << "no\n";
  }
  return 0;
}
