#include <bits/stdc++.h>
using namespace std;
int main() {
  int t;
  cin >> t;
  for (int i = 0; i < t; i++) {
    long long n, k, d1, d2, x1, x2, x3, sum = 0;
    cin >> n >> k >> d1 >> d2;
    if ((k - d1 - d2) % 3 == 0) {
      x1 = (k - d1 - d2) / 3;
      x2 = x1 + d1;
      x3 = x1 + d2;
      if (x1 >= 0 && x2 >= 0 && x3 >= 0) {
        long long max_win = max(x1, max(x2, x3));
        sum = 3 * max_win - x1 - x2 - x3;
        if (sum >= 0 && sum <= n - k && (n - k - sum) % 3 == 0) {
          puts("yes");
          continue;
        }
      }
    }
    if ((k - d1 + d2) % 3 == 0) {
      x1 = (k - d1 + d2) / 3;
      x2 = x1 + d1;
      x3 = x1 - d2;
      if (x1 >= 0 && x2 >= 0 && x3 >= 0) {
        long long max_win = max(x1, max(x2, x3));
        sum = 3 * max_win - x1 - x2 - x3;
        if (sum >= 0 && sum <= n - k && (n - k - sum) % 3 == 0) {
          puts("yes");
          continue;
        }
      }
    }
    if ((k + d1 - d2) % 3 == 0) {
      x1 = (k + d1 - d2) / 3;
      x2 = x1 - d1;
      x3 = x1 + d2;
      if (x1 >= 0 && x2 >= 0 && x3 >= 0) {
        long long max_win = max(x1, max(x2, x3));
        sum = 3 * max_win - x1 - x2 - x3;
        if (sum >= 0 && sum <= n - k && (n - k - sum) % 3 == 0) {
          puts("yes");
          continue;
        }
      }
    }
    if ((k + d1 + d2) % 3 == 0) {
      x1 = (k + d1 + d2) / 3;
      x2 = x1 - d1;
      x3 = x1 - d2;
      if (x1 >= 0 && x2 >= 0 && x3 >= 0) {
        long long max_win = max(x1, max(x2, x3));
        sum = 3 * max_win - x1 - x2 - x3;
        if (sum >= 0 && sum <= n - k && (n - k - sum) % 3 == 0) {
          puts("yes");
          continue;
        }
      }
    }
    puts("no");
  }
}
