#include <iostream>
#include <cstdio>
using namespace std;
int main() {
int sum, lim, low_bit, n=0, a[100005];
scanf("%d%d", &sum, &lim);
for(int i=lim; i>=1; i--) {
low_bit = i & -i;
if(sum>=low_bit) a[n]=i, n++, sum-=low_bit;
if(sum==0) break;
}
if(sum>0) printf("-1");
else {
printf("%d\n", n);
while(n--) printf("%d ", a[n]);
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0ZGlvPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CglpbnQgc3VtLCBsaW0sIGxvd19iaXQsIG49MCwgYVsxMDAwMDVdOwoJc2NhbmYoIiVkJWQiLCAmc3VtLCAmbGltKTsKCWZvcihpbnQgaT1saW07IGk+PTE7IGktLSkgewoJCWxvd19iaXQgPSBpICYgLWk7CgkJaWYoc3VtPj1sb3dfYml0KSBhW25dPWksIG4rKywgc3VtLT1sb3dfYml0OwoJCWlmKHN1bT09MCkgYnJlYWs7Cgl9CglpZihzdW0+MCkgcHJpbnRmKCItMSIpOwoJZWxzZSB7CgkJcHJpbnRmKCIlZFxuIiwgbik7CgkJd2hpbGUobi0tKSBwcmludGYoIiVkICIsIGFbbl0pOwoJfQoJcmV0dXJuIDA7Cn0=