#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> branch(int n){
vector<int> v;
if(n<=0) return v;
int p = 1<<20; // n < 10^6
while(p){
if(p&n){
n -= p;
v.push_back(p-1-n);
}
p >>= 1;
}
reverse(v.begin(), v.end());
return v;
}
void printZeros(int x){
while(x--) cout<<'0'<<' ';
}
void print(int a, int i, vector<int> &v){
if(!i--){
cout<<a<<' ';
return;
}
print(a,i,v);
printZeros(v[i]);
print(a,i,v);
}
void f(int n, int a){
vector<int> v = branch(n);
print(a,v.size(),v);
}
int main() {
int t;
int n, a;
vector<int> v;
cin>>t;
while(t--){
cin>>n>>a;
f(n-1,a);
cout<<endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdmVjdG9yPGludD4gYnJhbmNoKGludCBuKXsKCXZlY3RvcjxpbnQ+IHY7CglpZihuPD0wKQlyZXR1cm4gdjsKCWludCBwID0gMTw8MjA7CS8vIG4gPCAxMF42Cgl3aGlsZShwKXsKCQlpZihwJm4pewoJCQluIC09IHA7CgkJCXYucHVzaF9iYWNrKHAtMS1uKTsKCQl9CgkJcCA+Pj0gMTsKCX0KCXJldmVyc2Uodi5iZWdpbigpLCB2LmVuZCgpKTsKCXJldHVybiB2Owp9Cgp2b2lkIHByaW50WmVyb3MoaW50IHgpewoJd2hpbGUoeC0tKQljb3V0PDwnMCc8PCcgJzsKfQoKdm9pZCBwcmludChpbnQgYSwgaW50IGksIHZlY3RvcjxpbnQ+ICZ2KXsKCWlmKCFpLS0pewoJCWNvdXQ8PGE8PCcgJzsKCQlyZXR1cm47Cgl9CglwcmludChhLGksdik7CglwcmludFplcm9zKHZbaV0pOwoJcHJpbnQoYSxpLHYpOwp9Cgp2b2lkIGYoaW50IG4sIGludCBhKXsKCXZlY3RvcjxpbnQ+IHYgPSBicmFuY2gobik7CglwcmludChhLHYuc2l6ZSgpLHYpOwp9CgppbnQgbWFpbigpIHsKCWludCB0OwoJaW50IG4sIGE7Cgl2ZWN0b3I8aW50PiB2OwoJY2luPj50OwoJd2hpbGUodC0tKXsKCQljaW4+Pm4+PmE7CgkJZihuLTEsYSk7CgkJY291dDw8ZW5kbDsKCX0KCXJldHVybiAwOwp9