XOR 방정식

A+B=S이고 A xor B=X인 양의 정수 순서쌍 (A, B)의 개수를 센다.

보통6수학비트 연산면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

양의 정수 SSXX가 주어진다. A+B=SA + B = S이고 AB=XA \oplus B = X인 양의 정수 순서쌍 (A,B)(A, B)의 개수를 구하시오. 여기서 \oplus는 비트 단위 배타적 논리합(XOR)이다.

AABB는 둘 다 11 이상이어야 한다. ABA \neq B이면 (A,B)(A, B)(B,A)(B, A)는 서로 다른 순서쌍으로 센다.

입력

첫째 줄에 두 양의 정수 SSXX가 공백으로 구분되어 주어진다. (2S,X10122 \le S, X \le 10^{12})

출력

두 식을 모두 만족하는 순서쌍 (A,B)(A, B)의 개수를 첫째 줄에 출력한다.