♥codeforces 627A-XOR Equation【数学】

来源:互联网 发布:淘宝卖家新手教程 编辑:程序博客网 时间:2024/05/17 02:18
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 andx (2 ≤ s ≤ 1012,0 ≤ 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, print0.

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<stdio.h>#include<string.h>#include<algorithm>#define LL long longusing namespace std;int main(){LL a,b;while(scanf("%I64d%I64d",&a,&b)!=EOF){LL i,j;LL ans=0;if((a-b)>=0&&(a-b)%2==0){LL wc=(a-b)/2;int cut=0;bool flag=true;if(a==b)ans-=2;while(b){if(b&1){cut++;if(wc&1){flag=false;}}if(!flag){break;}b/=2,wc/=2;} if(!flag) ans = 0;          else ans += (1LL<<cut);}printf("%I64d\n",ans);}return 0;}


1 0
原创粉丝点击