W tym zadaniu będziemy rozpatrywać ciąg $n + m$ podzbiorów zbioru $\{1, \dots , n\}$. Zbiory $A_1, \dots , A_n$ są zdefiniowane następująco: wartość $1 ≤ i ≤ n$ należy do zbioru $A_j$ wtedy i tylko wtedy, gdy $i$ jest podzielne przez $j$.
Przykładowo dla $n = 7$ kolejne zbiory są następujące:
Kolejnych $m$ zbiorów – $A_{n+1}, A_{n+2}, \dots , A_{n+m}$ – powstaje przez operacje sum, przecięć lub negacji na poprzednich zbiorach.
Przykładowy ciąg operacji może wyglądać następująco:
Mając dane $n$, $m$ oraz listę operacji tworzących zbiory, odpowiedz na $q$ zapytań postaci: czy dana liczba $v$ należy do danego zbioru $A_x$.
W pierwszym wierszu wejścia znajdują się trzy liczby całkowite $n$, $m$, $q$ ($1 ≤ n ≤ 50\, 000$, $1 ≤ m ≤ 400\, 000$, $1 ≤ q ≤ 1\, 000\, 000$), oznaczające odpowiednio liczbę początkowych zbiorów, liczbę operacji oraz liczbę zapytań.
Kolejne $m$ wierszy zawierają opisy operacji. Wiersz numer $i$ opisujący w jaki sposób powstał zbiór $A_{n+i}$, jest w jednej z trzech postaci:
1 $x$ $y$ – oznaczającej operację sumy $A_{n+i} = A_x ∪ A_y$,2 $x$ $y$ – oznaczającej operację przecięcia $A_{n+i} = A_x ∩ A_y$,3 $x$ – oznaczającej operację negacji $A_{n+i} = A'_x$.W każdej z tych postaci wartości $x$, $y$ spełniają warunek $1 ≤ x, y < n + i$, tzn. każda operacja odwołuje się tylko do poprzednich zbiorów.
Kolejne $q$ wierszy zawiera zapytania. Każdy z nich zawiera dwie liczby całkowite $x$ oraz $v$ ($1 ≤ x ≤ n + m$, $1 ≤ v ≤ n$), które oznaczają pytanie o to, czy $v ∈ A_x$.
Na wyjście należy wypisać $q$ wierszy zawierających odpowiedzi na kolejne zapytania. Każdy z wierszy ma zawierać jedno ze słów TAK lub NIE. Słowo TAK oznacza, że $v ∈ A_x$ dla odpowiednich $x$, $v$, zaś słowo NIE oznacza, że $v \not\in A_x$.
Wyjaśnienie przykładu: Test przykładowy odpowiada przykładowym operacjom opisanym w treści zadania.