CF 627A. XOR Equation 位运算


A. XOR Equation
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

Two positive integers a and b have a sum of s and a bitwise XOR of x. How many possible values are there for the ordered pair (a, b)?

Input

The first line of the input contains two integers s and x (2 ≤ s ≤ 10120 ≤ x ≤ 1012), the sum and bitwise xor of the pair of positive integers, respectively.

Output

Print a single integer, the number of solutions to the given conditions. If no solutions exist, print 0.

Examples
input
9 5
output
4
input
3 3
output
2
input
5 2
output
0
Note

In the first sample, we have the following solutions: (2, 7)(3, 6)(6, 3)(7, 2).

In the second sample, the only solutions are (1, 2) and (2, 1).


#include
#include
#include
#include
#include
#include
#define ysk(x)  ((ll)1<<(x))
using namespace std;
typedef long long ll;
const int INF =0x3f3f3f3f;
ll s,x;
//思路核心: s=a+b= (a^b)+ 2*(a&b);

int main()
{
    while(~scanf("%I64d%I64d",&s,&x))
    {
        if(s


你可能感兴趣的:(ACM_数学)