func_code_string: #include <bits/stdc++.h>   using namespace std;   int dx[] = {1, 1, -1, -1};   int dy[] = {1, -1, -1, 1};   long long int n, k, d1, d2, rem;   bool _solve(long long int w1, long long int w2, long long int w3) {     long long int tar = n / 3;     if (w1 < 0 || w2 < 0 || w3 < 0) return false;     if (tar >= w1 && tar >= w2 && tar >= w3 && abs(w1 - w2) == d1 &&         abs(w2 - w3) == d2)       return true;     return false;   }   bool solve() {     long long int _d1, w1, w2, w3, _d2;     for (int i = 0; i < 4; i++) {       _d1 = d1 * dx[i];       _d2 = d2 * dy[i];       w1 = (k + 2 * _d1 + _d2) / 3;       w2 = w1 - _d1;       w3 = w2 - _d2;       if (w1 + w2 + w3 != k) continue;       if (_solve(w1, w2, w3)) return true;     }     return false;   }   int main() {     ios_base ::sync_with_stdio(false);     cin.tie(0);     int t;     cin >> t;     while (t--) {       cin >> n >> k >> d1 >> d2;       if (n % 3 == 0) {         if (solve())           cout <<  yes  << endl;         else           cout <<  no  << endl;       } else         cout <<  no  << endl;     }     return 0;   }   