Obtiažnosť: ťažká

XOR na množine

Máme dynamickú multimnožinu $A$ nezáporných celých čísel. Multimnožina je množina, ktorá môže obsahovať duplikáty. Naviac predpokladajte, že 0 patrí množine $A$.

Vašou úlohou je na tejto množine vykonávať nasledovné operácie:

  • + x: pridaj do $A$ číslo $x$
  • - x: odober z $A$ jeden výskyt čísla $x$. Je zaručené, že v tomto momente sa v $A$ nachádza aspoň jedno číslo $x$.
  • ? x: nájdite najväčšie číslo $c$ také, že $c\,=\,x\,xor\,y$, pričom $y$ je ľubovolné číslo z $A$.

Vstup

V prvom riadku je číslo $1 \leq n \leq 2 \cdot 10^5$ ­— počet operácií.

Nasleduje $n$ riadkov, v každom popis jednej operácie. Pre čísla $x$ v operáciách platí $1 \leq x \leq 2^{30}-1$.

Výstup

Pre každú operáciu typu $?\,x$ vypíšte príslušné $c$.

Príklad

Vstup

10
+ 8
+ 9
+ 11
+ 6
+ 1
? 3
- 8
? 3
? 8
? 11

Výstup

11
10
14
13