#include <bits/stdc++.h>
using namespace std;
long long S, X, N, i, j;
bool A[40], B[40];
void masuk(bool A[], long long X) {
  int i;
  long long S = X, P = pow(2, 39);
  for (i = 0; i < 40; i++) {
    A[i] = (S >= P);
    S = S % P;
    P /= 2;
  }
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> S >> X;
  if (S < X) {
    cout << 0 << '\n';
    return 0;
  }
  masuk(A, X);
  masuk(B, S - X);
  if (B[39]) {
    cout << 0 << '\n';
    return 0;
  }
  N = A[39];
  for (i = 0; i < 39; i++) {
    if (B[i] && A[i + 1]) {
      cout << 0 << '\n';
      return 0;
    }
    N += A[i];
  }
  cout << (long long)pow(2, N) - 2 * (S == X) << '\n';
}
