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'); } } }()