#include <bits/stdc++.h>
using namespace std;
long long n, k, d1, d2;
bool Possibility(long long n, long long k, long long d1, long long d2) {
  if (n % 3) return false;
  if (d1 + d2 > k) return false;
  if (n - k - 3 * max(d1, d2) + d1 + d2 < 0) return false;
  if ((n - k - 3 * max(d1, d2) + d1 + d2) % 3 > 0) return false;
  return true;
}
void Read() {
  int t;
  scanf("%d", &t);
  while (t--) {
    scanf("%lld %lld %lld %lld", &n, &k, &d1, &d2);
    bool judge = false;
    if (Possibility(n, k, d1, d2)) {
      judge = true;
    }
    if (Possibility(n, k, d1 + d2, d1)) {
      judge = true;
    }
    if (Possibility(n, k, max(d1, d2), max(d1, d2) - min(d1, d2))) {
      judge = true;
    }
    if (Possibility(n, k, d1 + d2, d2)) {
      judge = true;
    }
    if (judge)
      printf("yes\n");
    else
      printf("no\n");
  }
}
int main() {
  Read();
  return 0;
}
