Busy Beaver lubi zadania na struktury danych, ale uważa, że zadania na tablicach z zapytaniami przedziałowymi są nudne. Wymyślił więc inny rodzaj zadania na struktury danych, tym razem z multizbiorami!
Mamy ciąg $a_1, \dots, a_L$, gdzie każdy $a_i$ jest multizbiorem dodatnich liczb całkowitych. Początkowo ciąg jest pusty, tzn. $L=0$. Zaimplementuj następujące operacje:
1 M K: Dodaj na koniec ciągu multizbiór składający się wyłącznie z liczby $M$ występującej $K$ razy.2 X Y: Dodaj na koniec ciągu sumę $a_X$ oraz $a_Y$. Liczba wystąpień każdej wartości sumuje się; na przykład sumę multizbiorów $\{1, 1, 2\}$ oraz $\{1, 2\}$ definiujemy jako $\{1, 1, 1, 2, 2\}$.3 X M K: Dodaj na koniec ciągu $f(a_X,M,K)$, gdzie $f(S,M,K)$ powstaje poprzez usunięcie $K$ kopii liczby $M$ ze zbioru $S$, jeśli $S$ zawiera co najmniej $K$ kopii $M$, lub dodanie $K$ kopii liczby $M$ do $S$, jeśli $S$ zawiera ściśle mniej niż $K$ kopii $M$.4 X: Gwarantuje się, że $a_X$ składa się z dokładnie jednego elementu. Wypisz ten pojedynczy element zbioru $a_X$.
Wejście
Pierwsza linia wejścia zawiera jedną liczbę całkowitą $Q$ ($1 \le Q \le 5 \cdot 10^5$), oznaczającą liczbę operacji.
Kolejne $Q$ linii zawiera po jednej operacji.
Gwarantuje się, że:
- Indeksy $X$ oraz $Y$ użyte w operacjach $2$, $3$ oraz $4$ zawsze mieszczą się w zakresie istniejącego ciągu w momencie wykonywania operacji.
- Wartości $M$ oraz $K$ użyte w operacjach $1$ oraz $3$ spełniają $1 \le M,K \le 10^9$.
- Dla wszystkich operacji typu $4$, $a_X$ zawiera dokładnie jeden element.
Wyjście
Dla każdej operacji typu $4$ wypisz w osobnej linii wynik.
Podzadania
- ($10$ punktów) $1 \le M \le 10$ dla wszystkich operacji typu $1$ oraz $3$.
- ($40$ punktów) Gwarantuje się, że w każdej operacji typu $3$ nowo dodawany multizbiór powstaje poprzez usunięcie $K$ kopii liczby $M$ z $a_X$.
- ($50$ punktów) Brak dodatkowych ograniczeń.
Przykład
Przykład 1
Wejście 1
8 1 5 1 1 6 2 4 1 2 1 2 3 3 6 4 3 4 6 5 3 5 5 1 4 6
Wyjście 1
5 6
Uwagi
Multizbiory wyglądają następująco:
- $a_1 = \{5\}$.
- $a_2 = \{6, 6\}$.
- $a_3 = \{5, 6, 6\}$.
- $a_4 = \{5, 6, 6, 6, 6, 6, 6\}$.
- $a_5 = \{5, 6\}$.
- $a_6 = \{6\}$.