Multiset e XOR
                                         
                                         
                            
                             
                                         
                                          Problem 
                         
                                 Hai q query e un multiset A che inizialmente contiene solo il numero 0. Esistono tre tipi di query:
- +x — aggiungi il numero x al multiinsieme A.
 
- -x — rimuovere un'occorrenza del numero x dal multiinsieme A. È garantito che almeno un numero x sia presente nel multiinsieme in questo momento.
 
- ? x — ti viene dato un numero x, devi calcolare l'OR esclusivo bit per bit massimo (noto anche come XOR) del numero x e un certo numero y dal multiinsieme A.
 
Multiinsieme — questo è un set che consente più elementi identici.
Inserimento:
La prima riga dell'input contiene il numero q (1 ≤ q ≤ 200000) — il numero di richieste che Vasiliy deve elaborare.
Ognuna delle seguenti q righe dell'input contiene uno dei tre caratteri "+", "-" O "?" e il numero x
i (1 ≤ x
i ≤ 10
9). È garantito che ci sia almeno una query "?" nell'input.
Si noti che il numero 0 sarà sempre presente nel multiset.
Uscita:
Per ogni richiesta come "?" stampa un singolo numero intero — il valore massimo dell'XOR bit a bit per il numero x
i e qualsiasi numero dal multiset A.
Esempio:
 
| Input | 
Uscita | 
10 
+8 
+9 
+11 
+ 6 
+ 1 
? 3 
- 8 
? 3 
? 8  
? 11 | 
11 
10 
14 
13 |