/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
char[] first = new char[binary.length()];
char[] second = new char[binary.length()];
boolean taken = false;
for (int i = 0; i < binary.length(); i++) {
if (binary.charAt(i) == '1') {
if (!taken) {
first[i] = '1';
taken = true;
} else {
second[i] = '1';
}
}
}
}
public static boolean isPowerOfTwo(int n){
if (n == 0)
return false;
while (n != 1) {
if (n % 2 != 0)
return false;
n = n / 2;
}
return true;
}
{
// your code goes here
Scanner sc
= new Scanner
(System.
in);
int T = sc.nextInt();
for(int i = 0; i < T; i++){
int N = sc.nextInt();
int S = sc.nextInt();
if((S % 2) != 0 || S < N){
}else{
if(N % 2 == 0){ //even
int rem = N - 2;
int pending = S - rem;
System.
out.
print(pending
/2 + " " + pending
/2 + " "); for(int j = 0; j < rem; j++){
}
}else{
int rem = N - 3;
int pending = S - rem;
if(isPowerOfTwo(pending/2)){
}else{
System.
out.
print(pending
/2 + " "); for(int j = 0; j < rem; j++){
}
}
}
}
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nW10gc3BsaXRCaW5hcnkoU3RyaW5nIGJpbmFyeSkgewogICAgY2hhcltdIGZpcnN0ID0gbmV3IGNoYXJbYmluYXJ5Lmxlbmd0aCgpXTsKICAgIGNoYXJbXSBzZWNvbmQgPSBuZXcgY2hhcltiaW5hcnkubGVuZ3RoKCldOwoKICAgIEFycmF5cy5maWxsKGZpcnN0LCAnMCcpOwogICAgQXJyYXlzLmZpbGwoc2Vjb25kLCAnMCcpOwoKICAgIGJvb2xlYW4gdGFrZW4gPSBmYWxzZTsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IGJpbmFyeS5sZW5ndGgoKTsgaSsrKSB7CiAgICAgICAgaWYgKGJpbmFyeS5jaGFyQXQoaSkgPT0gJzEnKSB7CiAgICAgICAgICAgIGlmICghdGFrZW4pIHsKICAgICAgICAgICAgICAgIGZpcnN0W2ldID0gJzEnOwogICAgICAgICAgICAgICAgdGFrZW4gPSB0cnVlOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgc2Vjb25kW2ldID0gJzEnOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiBuZXcgU3RyaW5nW117bmV3IFN0cmluZyhmaXJzdCksIG5ldyBTdHJpbmcoc2Vjb25kKX07Cn0KCglwdWJsaWMgc3RhdGljIGJvb2xlYW4gaXNQb3dlck9mVHdvKGludCBuKXsKCQkgICAgICAgIGlmIChuID09IDApCgkJICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwoJCQoJCSAgICAgICAgd2hpbGUgKG4gIT0gMSkgewoJCSAgICAgICAgICAgIGlmIChuICUgMiAhPSAwKQoJCSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CgkJICAgICAgICAgICAgbiA9IG4gLyAyOwoJCSAgICAgICAgfQoJCSAgICAgICAgcmV0dXJuIHRydWU7CgkJICAgIH0KCQkgICAgCglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCgkJU2Nhbm5lciBzYyA9IG5ldyBTY2FubmVyKFN5c3RlbS5pbik7CgkJCgkJaW50IFQgPSBzYy5uZXh0SW50KCk7CgkJZm9yKGludCBpID0gMDsgaSA8IFQ7IGkrKyl7CgkJCWludCBOID0gc2MubmV4dEludCgpOwoJCQlpbnQgUyA9IHNjLm5leHRJbnQoKTsKCQkJCgkJCWlmKChTICUgMikgIT0gMCB8fCBTIDwgTil7CgkJCQkKCQkJU3lzdGVtLm91dC5wcmludGxuKC0xKTsJCgkJCQoJCQl9ZWxzZXsKCQkJCWlmKE4gJSAyID09IDApeyAvL2V2ZW4KCQkJCQkKCQkJCQlpbnQgcmVtID0gTiAtIDI7CgkJCQkJaW50IHBlbmRpbmcgPSBTIC0gcmVtOwoJCQkJCVN5c3RlbS5vdXQucHJpbnQocGVuZGluZy8yICsgIiAiICsgcGVuZGluZy8yICsgIiAiKTsKCQkJCQlmb3IoaW50IGogPSAwOyBqIDwgcmVtOyBqKyspewoJCQkJCVN5c3RlbS5vdXQucHJpbnQoMSArICIgIik7CgkJCQkJfQoJCQkJCVN5c3RlbS5vdXQucHJpbnRsbigpOwoJCQkJfWVsc2V7CgkJCQkJCgkJCQkJaW50IHJlbSA9IE4gLSAzOwoJCQkJCWludCBwZW5kaW5nID0gUyAtIHJlbTsKCQkJCQlpZihpc1Bvd2VyT2ZUd28ocGVuZGluZy8yKSl7CgkJCQkJU3lzdGVtLm91dC5wcmludCgtMSk7CgkJCQkJfWVsc2V7CgkJCQkJU3lzdGVtLm91dC5wcmludChwZW5kaW5nLzIgKyAiICIpOwoJCQkJCVN0cmluZ1tdIGsgPSBzcGxpdEJpbmFyeShJbnRlZ2VyLnRvQmluYXJ5U3RyaW5nKHBlbmRpbmcgLyAyKSk7CgkJCQkJU3lzdGVtLm91dC5wcmludChJbnRlZ2VyLnBhcnNlSW50KGtbMF0sIDIpICsgIiAiICsgSW50ZWdlci5wYXJzZUludChrWzFdLCAyKSk7CgkJCQkJZm9yKGludCBqID0gMDsgaiA8IHJlbTsgaisrKXsKCQkJCQlTeXN0ZW0ub3V0LnByaW50KDEgKyAiICIpOwoJCQkJCX0KCQkJCQl9CgkJCQkJU3lzdGVtLm91dC5wcmludGxuKCk7CgkJCQl9CgkJCQkKCQkJfQoJCX0KCX0KfQ==