#include <bits/stdc++.h>
using namespace std;
int main() {
  ios::sync_with_stdio(false);
  long long s, x;
  cin >> s >> x;
  bool flag = true;
  bool valid = true;
  if ((s & 1) != (x & 1)) valid = false;
  long long ans = 1;
  for (int i = 62; i >= 1; i--) {
    long long sb = (s >> i) & 1;
    long long xb = (x >> i) & 1;
    long long sp = (s >> (i - 1)) & 1;
    long long xp = (x >> (i - 1)) & 1;
    if (sb == 0 && xb == 0) {
      if (sp == 0 && xp == 1) valid = false;
    }
    if (sb == 0 && xb == 1) {
      if (sp == 1 && xp == 1) valid = false;
    }
    if (sb == 1 && xb == 0) {
      if (sp == 1 && xp == 1) valid = false;
    }
    if (sb == 1 && xb == 1) {
      if (sp == 0 && xp == 1) valid = false;
    }
    if (xb != sb) flag = false;
  }
  for (int i = 0; i < 62; i++)
    if ((x >> i) & 1) ans *= 2;
  if (!valid)
    cout << "0\n";
  else
    cout << ans - flag * 2 << "\n";
  return 0;
}
