GCD SUM
시간 제한5초메모리 제한1024 MB
수열이 주어지면 구간 [l, r] 안의 모든 연속 부분수열에 대한 gcd 합을 구합니다. 각 질의의 l, r은 이전 답과 XOR로 암호화되어 주어집니다.
문제
길이가 인 수열 이 주어진다. 다음 쿼리를 수행하는 프로그램을 작성하시오.
- : 의 모든 연속 부분 수열에 대한 의 합을 출력한다. 즉, 을 출력한다.
모든 입력 데이터에서 의 모든 연속 부분 수열의 의 합은 을 넘지 않는다.
입력
첫째 줄에 정수 이 주어진다.
둘째 줄에 정수 이 주어진다.
셋째 줄에 쿼리의 개수 가 주어진다.
이후 개의 줄에 쿼리 정보가 주어진다. 번째 줄에는 정수 와 가 주어진다. 번째 쿼리에서 과 의 값을 각각 , 라 하면 , 이다. 여기서 는 비트 단위 XOR 연산이다. 이면 이고, 이면 는 번째 쿼리의 답이다.
출력
개의 수를 한 줄에 하나씩 출력한다. 번째 줄에는 번째 쿼리의 답을 출력한다.
제한
- 의 모든 연속 부분 수열의 의 합은 을 넘지 않는다.