#include <bits/stdc++.h>
using namespace std;
long long num;
long long n, k, d1, d2;
bool solve() {
  if (n % 3) return false;
  long long aim = n / 3;
  bool res = false;
  if ((k + d1 + d2) % 3 == 0) {
    long long x2 = (k + d1 + d2) / 3;
    long long x1 = x2 - d1;
    long long x3 = x2 - d2;
    if (x1 <= aim && x2 <= aim && x3 <= aim)
      if (x2 >= 0 && x1 >= 0 && x3 >= 0 && 3 * aim - x1 - x2 - x3 == n - k) {
        res = true;
      }
  }
  if ((k - d1 + d2) % 3 == 0) {
    long long x2 = (k - d1 + d2) / 3;
    long long x1 = x2 + d1;
    long long x3 = x2 - d2;
    if (x1 <= aim && x2 <= aim && x3 <= aim)
      if (x2 >= 0 && x1 >= 0 && x3 >= 0 && 3 * aim - x1 - x2 - x3 == n - k) {
        res = true;
      }
  }
  if ((k + d1 - d2) % 3 == 0) {
    long long x2 = (k + d1 - d2) / 3;
    long long x1 = x2 - d1;
    long long x3 = x2 + d2;
    if ((x1 <= aim && x2 <= aim && x3 <= aim))
      if (x2 >= 0 && x1 >= 0 && x3 >= 0 && 3 * aim - x1 - x2 - x3 == n - k) {
        res = true;
      }
  }
  if ((k - d1 - d2) % 3 == 0) {
    long long x2 = (k - d1 - d2) / 3;
    long long x1 = x2 + d1;
    long long x3 = x2 + d2;
    if ((x1 <= aim && x2 <= aim && x3 <= aim))
      if (x2 >= 0 && x1 >= 0 && x3 >= 0 && 3 * aim - x1 - x2 - x3 == n - k) {
        res = true;
      }
  }
  return res;
}
int main() {
  cin >> num;
  for (int i = 0; i < num; i++) {
    cin >> n >> k >> d1 >> d2;
    if (solve())
      cout << "yes" << endl;
    else
      cout << "no" << endl;
  }
  return 0;
}
