#include <bits/stdc++.h>
using namespace std;
long long n;
bool solve(long long k, long long d1, long long d2, long long m) {
  long long t2 = (k + d2 - d1) / 3;
  if ((k + d2 - d1) % 3 != 0) return false;
  long long t1 = d1 + t2;
  long long t3 = t2 - d2;
  long long maxV = max(t1, max(t2, t3));
  long long need = 0;
  if (maxV == t1) {
    need = (maxV - t2) + (maxV - t3);
  } else if (maxV == t2) {
    need = (maxV - t1) + (maxV - t3);
  } else if (maxV == t3) {
    need = (maxV - t1) + (maxV - t2);
  }
  if (t1 < 0 || t2 < 0 || t3 < 0) return false;
  m -= k;
  m -= need;
  if (m < 0 || m % 3 != 0) {
    return false;
  }
  return true;
}
int main() {
  long long t;
  cin >> t;
  for (long long i = 0; i < t; i++) {
    long long k, d1, d2;
    cin >> n >> k >> d1 >> d2;
    if (solve(k, d1, d2, n))
      cout << "yes\n";
    else if (solve(k, -1 * d1, d2, n))
      cout << "yes\n";
    else if (solve(k, -1 * d1, -1 * d2, n))
      cout << "yes\n";
    else if (solve(k, d1, -1 * d2, n))
      cout << "yes\n";
    else {
      cout << "no\n";
    }
  }
  return 0;
}
