춤추는 비트
시간 제한2초메모리 제한1024 MB
L 이상 R 이하인 x, y, z 중 (x | y)와 (y ^ z)가 같은 순서쌍의 개수를 구합니다.
문제
존경하는 셜록 홈즈 씨. 저는 아무리 찾아도 부벤치크를 찾을 수 없습니다. 제발, 제발, 제발 도와주실 수 있을까요?
어린 소녀
부벤치크 사건은 헨리 나이트 사건보다 셜록의 관심을 훨씬 더 끌었다. 그래서 셜록은 아무도 모르게 비밀 군사기지 바스커빌에서 부벤치크의 전체 자료가 담긴 컴퓨터를 찾아냈다. 그러나 안타깝게도 그 컴퓨터는 교묘하게 잠겨 있었다.
컴퓨터는 셜록에게 두 정수 과 을 보여 주었다. 비밀번호는 다음 조건을 만족하는 서로 다른 세 수 , , 의 조합이다.
그리고
여기서 는 비트 단위 OR 연산이고, 는 비트 단위 XOR 연산(2를 법으로 한 덧셈)이다.
셜록에게는 이런 조합을 모두 자동으로 계산해 주는 장치가 없다. 셜록이 적어도 이러한 조합의 개수를 구하도록 도와달라.
입력
한 줄에 두 정수 과 이 주어진다(). 컴퓨터가 보여 준 수들이다.
출력
조건을 만족하는 서로 다른 조합의 개수를 한 줄에 출력한다.
힌트
세 수의 순서만 다른 조합은 서로 다른 것으로 센다는 점에 주의한다.