#include <bits/stdc++.h>
using namespace std;
int main() {
  long long s, x;
  scanf("%lld", &s);
  scanf("%lld", &x);
  long long ans = 1;
  long long m = 1;
  if (s < x) {
    printf("%d\n", 0);
    return 0;
  }
  for (long long i = 0; i < 64; i++) {
    if ((x & m)) {
      ans = ans * 2;
    }
    m *= 2;
  }
  s -= x;
  if (s > 0) {
    if (s % 2) {
      printf("%d\n", 0);
      return 0;
    }
    long long p;
    for (long long i = 0; i < 64; i++) {
      if (s & (1LL << i)) {
        if (x & (1LL << (i - 1))) {
          printf("%d\n", 0);
          return 0;
        }
      }
    }
  } else {
    ans -= 2;
  }
  if (x == 0) {
    if (s % 2)
      ans = 0;
    else
      ans = 1;
  }
  printf("%lld\n", ans);
  return 0;
}
