#include <bits/stdc++.h>
using namespace std;
long long n, k, d1, d2;
long long valid(long long w1, long long w2, long long w3) {
  if (w1 < 0 || w2 < 0 || w3 < 0) {
    return 0;
  }
  if (w1 + w2 + w3 != k) {
    return 0;
  }
  if (n % 3 != 0) {
    return 0;
  }
  long long d = n / 3;
  if (w1 > d || w2 > d || w3 > d) {
    return 0;
  }
  return 1;
}
int main() {
  long long t;
  cin >> t;
  while (t--) {
    cin >> n >> k >> d1 >> d2;
    long long w1 = 0, w2 = 0, w3 = 0;
    long long flag = 0;
    if ((k - 2 * d2 - d1) >= 0 && (k - 2 * d2 - d1) % 3 == 0) {
      w3 = (k - 2 * d2 - d1) / 3;
      w1 = w3 + d2 + d1;
      w2 = w3 + d2;
      if (valid(w1, w2, w3) == 1) {
        flag = 1;
      }
    }
    if ((k - 2 * d2 + d1) >= 0 && (k - 2 * d2 + d1) % 3 == 0) {
      w3 = (k - 2 * d2 + d1) / 3;
      w2 = w3 + d2;
      w1 = w2 - d1;
      if (valid(w1, w2, w3) == 1) {
        flag = 1;
      }
    }
    if ((k + 2 * d2 - d1) >= 0 && (k + 2 * d2 - d1) % 3 == 0) {
      w3 = (k + 2 * d2 - d1) / 3;
      w2 = w3 - d2;
      w1 = w2 + d1;
      if (valid(w1, w2, w3) == 1) {
        flag = 1;
      }
    }
    if ((k + 2 * d2 + d1) >= 0 && (k + 2 * d2 + d1) % 3 == 0) {
      w3 = (k + 2 * d2 + d1) / 3;
      w2 = w3 - d2;
      w1 = w2 - d1;
      if (valid(w1, w2, w3) == 1) {
        flag = 1;
      }
    }
    if (flag == 1) {
      cout << "yes\n";
    } else {
      cout << "no\n";
    }
  }
  return 0;
}
