#include <bits/stdc++.h>
using namespace std;
void solution();
stack<clock_t> times;
void start_t() { times.push(clock()); }
void stop_t(string out) {
  clock_t now = clock();
  clock_t past = times.top();
  times.pop();
  double delta = now - past;
  cout << out << ": " << fixed << delta / (double)CLOCKS_PER_SEC << endl;
}
int main() {
  ios::sync_with_stdio(false);
  int t;
  cin >> t;
  for (int i = 0; i < t; i++) solution();
  return 0;
}
void solution() {
  long long n, k, d1, d2;
  cin >> n >> k >> d1 >> d2;
  if (((k - d1 - d2) % 3 == 0) && (k >= d1 + d2)) {
    if (((n - k - max(d1, d2) - abs(d1 - d2)) % 3 == 0) &&
        (n >= k + max(d1, d2) + abs(d1 - d2))) {
      cout << "yes" << endl;
      return;
    }
  }
  if (((k - d1 - 2 * d2) % 3 == 0) && (k >= d1 + 2 * d2)) {
    if (((n - k - 2 * d1 - d2) % 3 == 0) && (n >= k + 2 * d1 + d2)) {
      cout << "yes" << endl;
      return;
    }
  }
  if (((k - d2 - 2 * d1) % 3 == 0) && (k >= d2 + 2 * d1)) {
    if (((n - k - d1 - 2 * d2) % 3 == 0) && (n >= k + d1 + 2 * d2)) {
      cout << "yes" << endl;
      return;
    }
  }
  if (((k + d2 + d1) % 3 == 0) && (((k + d2 + d1) / 3) >= max(d1, d2))) {
    if (((n - k - d1 - d2) % 3 == 0) && (n >= k + d1 + d2)) {
      cout << "yes" << endl;
      return;
    }
  }
  cout << "no" << endl;
}
