XOR보나치 수열
시간 제한1초메모리 제한64 MB
앞 K개 항으로 정의된 XOR 점화식에서 구간 [l, r]의 XOR을 묻는 질의를 대량으로 처리합니다.
문제
마린은 파리를 잡겠다고 라켓을 너무 세게 휘두르다 팔꿈치를 다쳤다. 할머니는 약초를 바르라고 했고 의사는 진통제를 처방했지만, 마린은 둘 다 무시하고 정수 수열에서 답을 찾기로 했다.
마린은 새 수열을 하나 만들고 XOR보나치 수열이라고 이름 붙였다. 이 수열의 번째 항을 이라 하고, 다음과 같이 정의한다.
- 이면
마린은 질문 개의 답을 받으면 아픔이 사라진다고 한다. 각 질문은 두 수 과 로 주어지고, 답은 다음 값이다.
여기서 는 비트 단위 XOR 연산이다.
입력
첫째 줄에 정수 가 주어진다 ().
둘째 줄에 XOR보나치 수열의 처음 개 항이 주어진다. 각 값은 보다 작은 음이 아닌 정수이다.
셋째 줄에 정수 가 주어진다 ().
이어지는 개의 줄 중 번째 줄에는 번째 질문을 나타내는 두 정수 와 가 주어진다 ().
출력
개의 줄을 출력한다. 번째 줄에는 입력에서 번째로 주어진 질문의 답을 출력한다.