#include <bits/stdc++.h>
using namespace std;
const int N = 111111;
const int INF = 1000000000, mod = 1000000007;
const long long LLINF = 1000000000000000000ll;
long long n, k, d1, d2;
bool try_solve(long long d1, long long d2) {
  if (n % 3) return 0;
  if ((k - d1 + d2) % 3) return 0;
  long long x2 = (k - d1 + d2) / 3;
  if (x2 >= 0 && x2 <= k) {
    long long x1 = d1 + x2;
    long long x3 = x2 - d2;
    if (x1 >= 0 && x1 <= k && x3 >= 0 && x3 <= k && x1 <= n / 3 &&
        x2 <= n / 3 && x3 <= n / 3) {
      return 1;
    }
  }
  return 0;
}
int main() {
  int t;
  scanf("%d", &t);
  while (t-- > 0) {
    scanf("%I64d %I64d %I64d %I64d", &n, &k, &d1, &d2);
    bool can = 0;
    for (int i = -1; i <= 1; ++i) {
      for (int j = -1; j <= 1; ++j) {
        if (i == 0 || j == 0) continue;
        can |= try_solve(d1 * i, d2 * j);
      }
    }
    puts(can ? "yes" : "no");
  }
  return 0;
}
