const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void async function () {
// Write your code here
while(line = await readline()){
lineInt = parseInt(line);
while(lineInt--){
input = await readline();
input = input.split(' ');
input = input.map(Number);
n = input[0];
k = input[1];
d1 = Math.min(input[2], input[3]);
d2 = Math.max(input[2], input[3]);
case1 = k - (2*d1+d2);
case2 = k - (2*d2+d1);
case3 = k - (d2+d2-d1);
case4 = k - (d2+d1);
left = n-k;
if(case1>=0 && case1%3==0){
need = d1+2*d2;
if(need<=left&&(left-need)%3==0){
console.log('yes');
continue;
}
}
if(case2>=0 && case2%3==0){
need = d2+2*d1;
if(need <= left && (left-need)%3==0){
console.log('yes');
continue;
}
}
if(case3>=0 && case3%3==0){
need = d1+d2;
if(need<=left && (left-need)%3==0){
console.log('yes');
continue;
}
}
if(case4>=0 && case4%3==0){
need = d2+d2-d1;
if(need<=left && (left-need)%3==0){
console.log('yes');
continue;
}
}
console.log('no');
}
}
}()