#include "bits/stdc++.h"
using namespace std;
int t;
int n , s;
bool check(int x){
if(x == s){
return 1;
}
int sz1 = (s / x) + 1;
int cnt1 = s % x;
int sz2 = s / x;
int cnt2 = x - cnt1 - 1;
int cnt = ((sz1 >> 1) + (sz1 & 1)) * cnt1;
cnt += ((sz2 >> 1) + (sz2 & 1)) * cnt2;
sz1 -= 2;
cnt += ((sz1 >> 1) + (sz1 & 1));
return cnt < n;
}
int main(){
cin >> t;
assert(t >= 1);
assert(t <= 100);
while(t--){
cin >> n >> s;
assert(n >= 1);
assert(n <= s);
assert(s <= 1000000);
vector < int > ans;
for(int i = 1 ; i <= s ; ++i){
if(check(i)){
ans.push_back(i);
}
}
cout << ans.size() << endl;
for(int x : ans){
cout << x << " ";
}
cout << endl;
}
}
I2luY2x1ZGUgImJpdHMvc3RkYysrLmgiCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCB0OwppbnQgbiAsIHM7CmJvb2wgY2hlY2soaW50IHgpewogICAgaWYoeCA9PSBzKXsKICAgICAgICByZXR1cm4gMTsKICAgIH0KICAgIGludCBzejEgPSAocyAvIHgpICsgMTsKICAgIGludCBjbnQxID0gcyAlIHg7CiAgICBpbnQgc3oyID0gcyAvIHg7CiAgICBpbnQgY250MiA9IHggLSBjbnQxIC0gMTsKICAgIGludCBjbnQgPSAoKHN6MSA+PiAxKSArIChzejEgJiAxKSkgKiBjbnQxOwogICAgY250ICs9ICgoc3oyID4+IDEpICsgKHN6MiAmIDEpKSAqIGNudDI7CiAgICBzejEgLT0gMjsKICAgIGNudCArPSAoKHN6MSA+PiAxKSArIChzejEgJiAxKSk7CiAgICByZXR1cm4gY250IDwgbjsKfQppbnQgbWFpbigpewogICAgY2luID4+IHQ7CiAgICBhc3NlcnQodCA+PSAxKTsKICAgIGFzc2VydCh0IDw9IDEwMCk7CiAgICB3aGlsZSh0LS0pewogICAgICAgIGNpbiA+PiBuID4+IHM7CiAgICAgICAgYXNzZXJ0KG4gPj0gMSk7CiAgICAgICAgYXNzZXJ0KG4gPD0gcyk7CiAgICAgICAgYXNzZXJ0KHMgPD0gMTAwMDAwMCk7CiAgICAgICAgdmVjdG9yIDwgaW50ID4gYW5zOwogICAgICAgIGZvcihpbnQgaSA9IDEgOyBpIDw9IHMgOyArK2kpewogICAgICAgICAgICBpZihjaGVjayhpKSl7CiAgICAgICAgICAgICAgICBhbnMucHVzaF9iYWNrKGkpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNvdXQgPDwgYW5zLnNpemUoKSA8PCBlbmRsOwogICAgICAgIGZvcihpbnQgeCA6IGFucyl7CiAgICAgICAgICAgIGNvdXQgPDwgeCA8PCAiICI7CiAgICAgICAgfQogICAgICAgIGNvdXQgPDwgZW5kbDsKICAgIH0KfQ==