시간 제한메모리 제한제출정답맞힌 사람정답 비율
3 초 512 MB267482815.054%

문제

재현이와 준혁이가 요즘 가장 즐겨 하는 놀이는 XOR놀이다.

XOR놀이란, 배열 $A$가 주어질 때 다음과 같은 쿼리를 처리하는 놀이이다.

  • 1 $l$ $r$ $x$ : $l \leq i \leq r$ 를 만족하는 $i$중 $x$와 $A_i$ 를 XOR한 수가 가장 작은 수 $A_i$를 골라 그 $i$를 출력한다. 만약 그런 $i$가 여러 개 있다면, 가장 작은 것을 출력한다.
  • 2 $l$ $r$ $x$ : $l \leq i \leq r$ 를 만족하는 $i$중 $x$와 $A_i$ 를 XOR한 수가 가장 큰 수 $A_i$를 골라 그 $i$를 출력한다. 만약 그런 $i$가 여러 개 있다면, 가장 작은 것을 출력한다.
  • 3 $p$ $x$ : $A_p$ 를 $x$ 로 바꾼다.

재현이와 준혁이를 위해 XOR놀이를 진행해주는 프로그램을 만들어보자!

입력

첫째 줄에 처음 배열의 크기 $N$이 입력된다. $(1 \leq N \leq 100,000)$

둘째 줄에 처음 배열의 원소 $A_i$가 $N$개 입력된다. $(0 \leq A_i​ \leq 10^7)$

셋째 줄에 쿼리의 수 $Q$가 입력된다. $(1 \leq Q \leq 50,000)$

다음 $Q$개의 줄에는 쿼리가 입력된다. $(0 \leq x \leq 10^7$, $1 \leq l \leq r \leq N$, $1 \leq p \leq N)$

출력

각 1,2번 쿼리마다 쿼리의 답을 한 줄에 하나씩 입력된 순서대로 출력한다.

서브태스크

번호배점제한
17

Q ≤ 100

213

Ai , x ≤ 64

380

추가 제약 조건 없음

예제 입력 1

7
92 104 100 43 28 108 97
9
2 2 6 76
1 3 4 66
2 6 7 6
3 6 16
2 6 6 101
1 7 7 69
3 6 6
2 1 3 108
1 5 5 124

예제 출력 1

4
3
6
6
7
1
5

채점 및 기타 정보

  • 예제는 채점하지 않는다.
  • 이 문제의 채점 우선 순위는 2이다.