길이가 $N$인 수열 $a_{1}$, $a_{2}$, $\cdots$, $a_{N}$이 주어진다. 다음 쿼리를 수행하는 프로그램을 작성하시오.
단, 모든 입력 데이터에서 $a$의 모든 연속 부분 수열의 $\gcd$의 합은 $10^{18}$을 넘지 않음이 보장된다.
첫째 줄에 정수 $N$이 주어진다.
둘째 줄에 $N$개의 정수 $a_{1}$, $a_{2}$, $\cdots$, $a_{N}$이 주어진다.
셋째 줄에 쿼리의 개수를 나타내는 정수 $Q$가 주어진다.
이후 $Q$개의 줄에 쿼리에 대한 정보가 주어진다. 이 중 $i$번째 줄에는 두 정수 $x_{i}$와 $y_{i}$가 주어진다.
$i$번째 쿼리에서 $l$과 $r$의 값을 각각 $l_{i}$와 $r_{i}$라 할 때, $l_{i} = x_{i} \oplus ans_{i-1}$, $r_{i} = y_{i} \oplus ans_{i-1}$이다. 이때, $i=0$이면 $ans_{0}=0$이고, $i \ge 1$이면 $ans_{i}$를 $i$번째 쿼리에 대한 답으로 정의한다. 여기서 $\oplus$는 bitwise XOR 연산을 나타낸다.
$Q$개의 수를 한 줄에 하나씩 출력한다. $i$번째 줄에는 $i$번째 쿼리에 대한 답을 출력한다.