#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=