#include <bits/stdc++.h>
using namespace std;
int l, s;
vector<int> num[20];
vector<int> r;
int f(int x) {
  for (int i = 0; i < 20; i++)
    if (x & (1 << i)) return i;
}
int main() {
  ios::sync_with_stdio(false);
  cin >> s >> l;
  for (int i = 1; i < l + 1; i++) num[f(i)].push_back(i);
  int id = 18;
  int sum = 0;
  while (sum < s && id >= 0) {
    for (int i = 0; i < num[id].size(); i++) {
      if (sum + (1 << id) > s) break;
      sum += (1 << id);
      r.push_back(num[id][i]);
    }
    --id;
  }
  if (s != sum) {
    cout << -1;
    return 0;
  }
  cout << r.size() << endl;
  for (int i = 0; i < r.size(); i++) cout << r[i] << " ";
}
