#include <bits/stdc++.h>
const int INF = 100000000;
int dx[4] = {1, 0, -1, 0};
int dy[4] = {0, 1, 0, -1};
using namespace std;
int t;
long long n, k;
bool ok(long long d1, long long d2) {
  if (n % 3) return false;
  long long x1 = k + 2 * d1 + d2;
  if (x1 % 3 != 0) return false;
  if (x1 < 0) return false;
  x1 /= 3;
  long long x2 = x1 - d1;
  long long x3 = x2 - d2;
  if (x2 < 0 || x3 < 0) return false;
  if (3 * max(x1, max(x2, x3)) > n) return false;
  bool ret = true;
  ret &= x1 + x2 + x3 == k;
  ret &= (x1 - x2) == d1;
  ret &= (x2 - x3) == d2;
  return ret;
}
bool solve() {
  long long d1, d2;
  cin >> n >> k >> d1 >> d2;
  bool ret = false;
  ret |= ok(d1, d2);
  ret |= ok(-d1, d2);
  ret |= ok(d1, -d2);
  ret |= ok(-d1, -d2);
  return ret;
}
int main() {
  cin >> t;
  for (int i = 0; i < (t); i++) {
    string ans = solve() ? "yes" : "no";
    cout << ans << endl;
  }
  return 0;
}
