#include <bits/stdc++.h>
using namespace std;
int s, l;
vector<int> v;
int main(void) {
  scanf("%d %d", &s, &l);
  for (int i = l; i >= 1; i--) {
    for (int j = 1; j <= i; j = j << 1) {
      if (j & i) {
        if (s >= j) {
          v.push_back(i);
          s -= j;
        }
        break;
      }
    }
    if (!s) break;
  }
  if (s)
    puts("-1");
  else {
    printf("%d\n", v.size());
    int size = v.size();
    for (int i = 0; i < size; i++) printf("%d ", v[i]);
  }
  return 0;
}
