#include <bits/stdc++.h>
using namespace std;
int t;
long long n, k, d1, d2;
void solve() {
  long long x, y, z;
  if ((k - d1 * 2 - d2) >= 0 && (k - d1 * 2 - d2) % 3 == 0) {
    x = (k - d1 * 2 - d2) / 3;
    y = x + d1;
    z = y + d2;
    if (x <= n / 3 && y <= n / 3 && z <= n / 3)
      if (x >= 0 && y >= 0 && z >= 0) {
        cout << "yes" << endl;
        return;
      }
  }
  if ((k - d1 * 2 + d2) >= 0 && (k - d1 * 2 + d2) % 3 == 0) {
    x = (k - d1 * 2 + d2) / 3;
    y = x + d1;
    z = y - d2;
    if (x <= n / 3 && y <= n / 3 && z <= n / 3)
      if (x >= 0 && y >= 0 && z >= 0) {
        cout << "yes" << endl;
        return;
      }
  }
  if ((k + d1 * 2 + d2) >= 0 && (k + d1 * 2 + d2) % 3 == 0) {
    x = (k + d1 * 2 + d2) / 3;
    y = x - d1;
    z = y - d2;
    if (x <= n / 3 && y <= n / 3 && z <= n / 3)
      if (x >= 0 && y >= 0 && z >= 0) {
        cout << "yes" << endl;
        return;
      }
  }
  if ((k + d1 * 2 - d2) >= 0 && (k + d1 * 2 - d2) % 3 == 0) {
    x = (k + d1 * 2 - d2) / 3;
    y = x - d1;
    z = y + d2;
    if (x <= n / 3 && y <= n / 3 && z <= n / 3)
      if (x >= 0 && y >= 0 && z >= 0) {
        cout << "yes" << endl;
        return;
      }
  }
  cout << "no" << endl;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin >> t;
  while (t--) {
    cin >> n >> k >> d1 >> d2;
    if (n % 3 != 0) {
      cout << "no" << endl;
      continue;
    }
    solve();
  }
  return 0;
}
