Dany jest ciąg $A_1, A_2, \ldots, A_N$ o długości $N$. Napisz program, który przetwarza następujące zapytania:
1 x v: Zamień $A_x$ na $v$.2 k b_1 ... b_k: Jeśli ciąg $A$ można podzielić na przedziały spełniające poniższe warunki, wypisz „TAK”, w przeciwnym razie wypisz „NIE”.- Każda liczba należy do dokładnie jednego przedziału.
- Przedziały nie mogą na siebie nachodzić.
- XOR wszystkich liczb w każdym przedziale musi być równy jednej z wartości $b_1, \ldots, b_k$.
Wejście
Pierwszy wiersz zawiera długość $N$ ciągu. ($1 \le N \le 100\,000$)
Drugi wiersz zawiera $A_1, A_2, \ldots, A_N$. ($0 \le A_i < 2^{20}$)
Trzeci wiersz zawiera liczbę zapytań $M$. ($1 \le M$)
Kolejne $M$ wierszy opisuje każde zapytanie. ($1 \le x \le N$, $0 \le v, b_i < 2^{20}$, $1 \le k \le 5$)
Liczba zapytań typu 1 nie przekracza $400\,000$, a łączna suma $k$ we wszystkich zapytaniach typu 2 nie przekracza $100\,000$.
Wyjście
Wypisz wyniki zapytań typu 2.
Przykład
Wejście 1
5 1 2 0 3 0 10 2 1 3 2 1 0 1 3 5 2 2 6 3 1 1 8 1 2 5 1 3 3 1 4 1 1 5 1 2 3 2 4 8
Wyjście 1
TAK TAK TAK NIE