func_code_string: #include <bits/stdc++.h>   using namespace std;   using namespace std;   long long z = 1000000007;   long long gcd(long long a, long long b) {     if (a == 0) return b;     if (b == 0) return a;     return gcd(b, a % b);   }   long long power(long long a, long long b) {     long long res = 1;     while (b) {       if (b & 1) {         res = (res * a) % z;         b--;       } else {         a = (a * a) % z;         b = b >> 1;       }     }     return res;   }   int32_t main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     cout.tie(NULL);     long long t;     t = 1;     while (t--) {       long long s, x;       cin >> s >> x;       long long k = s - x;       if (k & 1)         cout <<  0 n ;       else {         long long ans = 1, c = 0;         set<long long> s;         k /= 2;         for (long long i = 0; i < 64; i++)           if (k & ((long long)1 << i)) s.insert(i);         for (long long i = 0; i < 64; i++) {           if (x & ((long long)1 << i)) {             ans *= 2;             if (s.find(i) != s.end()) {               c++;               break;             }           }         }         if (c)           cout <<  0 n ;         else {           if (k == 0)             cout << ans - 2 <<   n ;           else             cout << ans <<   n ;         }       }     }   }   