#include <bits/stdc++.h>
using namespace std;
int main() {
  int sum, i, j, k, n;
  scanf("%d%d", &sum, &n);
  stack<int> s;
  for (i = n; i > 0; i--) {
    for (j = 25; j >= 0; j--) {
      if (i % (1 << j) == 0) {
        if (sum - (1 << j) >= 0) {
          sum -= (1 << j);
          s.push(i);
        }
        break;
      }
    }
  }
  if (sum > 0)
    printf("%d\n", -1);
  else {
    cout << s.size() << endl;
    cout << s.top();
    s.pop();
    while (!s.empty()) {
      cout << " " << s.top();
      s.pop();
    }
    printf("\n");
    ;
  }
  return 0;
}
