#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 7;
long long u, v;
int main() {
  cin >> u >> v;
  if (u > v)
    cout << "-1" << endl;
  else if ((v - u) % 2)
    cout << "-1" << endl;
  else if (u == v && v == 0)
    cout << "0" << endl;
  else if (u == v && v)
    cout << "1" << endl << v << endl;
  else {
    long long x = (u + v) / 2, y = (v - u) / 2;
    if ((x ^ y) == u && (x + y) == v) {
      cout << 2 << endl;
      cout << x << ' ' << y << endl;
    } else {
      cout << 3 << endl;
      cout << u << ' ' << (v - u) / 2 << ' ' << (v - u) / 2 << endl;
    }
  }
  return 0;
}
