Rikka with XOR
시간 제한1초메모리 제한512 MB
n과 m이 주어질 때 i를 0부터 m까지 바꾸며 n xor i를 모두 곱한 값을 1500000001로 나눈 나머지를 구합니다.
문제
Rikka가 어렸을 때 「A good task to defend AK」라는 어렵지만 흥미로운 문제를 만났다. 그 문제에서는 XOR(배타적 논리합, 기호 )의 성질 여러 가지가 쓰였다.
여섯 해가 지나 Rikka는 대학생이 되었다. 오늘 Rikka는 그 문제를 떠올렸고, XOR에 대해 아는 것이 거의 없다는 사실을 깨달았다. 그래서 XOR에 관한 문제를 직접 만들어 풀어 보려 했다.
대부분의 문제는 아주 간단했지만 하나만은 예외였다. Rikka는 그 문제가 너무 어렵다고 느꼈고, 도움을 청했다.
정수 과 이 주어졌을 때, 를 계산하라. 답이 매우 클 수 있으므로 소수인 로 나눈 나머지를 구하라.
입력
첫 번째 줄에 테스트 케이스의 개수를 뜻하는 정수 ()가 주어진다.
각 테스트 케이스는 한 줄에 정수 과 ()이 주어진다.
출력
각 테스트 케이스마다 답을 로 나눈 나머지를 한 줄에 출력한다.