Il existe une grille de cellules infinie vers la gauche, la droite et le haut (toutes les cellules de coordonnées $(x, y)$ avec $x \in \mathbb{Z}, y \geq 0$ existent). Initialement, toutes les cellules sont blanches. Vous devez traiter $q$ requêtes de deux types :
- $y_i$ $l_i$ $r_i$ : peindre en noir toutes les cellules $(x, y_i)$ pour $l_i \leq x \leq r_i$. Si la cellule est déjà noire, sa couleur ne change pas.
- $l_i$ $r_i$ : considérer toutes les cellules dont la coordonnée $x$ appartient au segment $[l_i, r_i]$. Trouver la cellule la plus haute telle que toutes les cellules situées exactement en dessous d'elle soient noires. Formellement, vous devez trouver le $h$ maximal tel que $\exists x \in [l_i, r_i] \forall y \in [0, h)$ la cellule $(x, y)$ soit noire.
Pour forcer le traitement des requêtes en ligne, celles-ci sont chiffrées à l'aide des réponses précédentes.
Entrée
La première ligne contient un entier $q$ ($1 \leq q \leq 10^5$) — le nombre de requêtes à traiter.
Les $q$ lignes suivantes contiennent les descriptions chiffrées des requêtes. Soit $S$ la somme des réponses à toutes les requêtes de second type traitées jusqu'à présent.
Chaque description est formatée soit comme « $1 \ (y_i \oplus S) \ (l_i \oplus S) \ (r_i \oplus S)$ » ou « $2 \ (l_i \oplus S) \ (r_i \oplus S)$ ». Il est garanti que $0 \leq y_i \leq 2 \cdot 10^5$ et $0 \leq l_i \leq r_i \leq 2 \cdot 10^5$. Notez que les garanties sont données sur les paramètres après déchiffrement ; les nombres dans l'entrée peuvent ne pas tenir dans des entiers 32 bits.
N'oubliez pas d'ajouter la nouvelle réponse à $S$ après chaque requête de second type.
Sortie
Imprimez les réponses à toutes les requêtes de second type sur des lignes séparées.
Exemples
Entrée 1
10 1 0 1 1 2 0 10 1 1 9 9 1 0 0 6 1 0 3 9 2 5 5 1 1 5 5 2 5 5 2 0 5 1 7 6 3
Sortie 1
1 0 2 2
Remarque
Le tableau suivant explique le processus de déchiffrement des requêtes de l'exemple :
| $S$ | Chiffré | Requête | Rép. |
|---|---|---|---|
| 0 | 1 0 1 1 | 1 0 1 1 | — |
| 0 | 2 0 10 | 2 0 10 | 1 |
| 1 | 1 1 9 9 | 1 0 8 8 | — |
| 1 | 1 0 0 6 | 1 1 1 7 | — |
| 1 | 1 0 3 9 | 1 1 2 8 | — |
| 1 | 2 5 5 | 2 4 4 | 0 |
| 1 | 1 1 5 5 | 1 0 4 4 | — |
| 1 | 2 5 5 | 2 4 4 | 2 |
| 3 | 2 0 5 | 2 3 6 | 2 |
| 5 | 1 7 6 3 | 1 2 3 6 | — |