Multiset et XOR
Problem
Vous avez q requêtes et un multiensemble A qui ne contient initialement que le nombre 0. Il existe trois types de requêtes :
- +x &mdash ; ajouter le nombre x au multiset A.
- -x — supprimer une occurrence du nombre x du multiset A. Il est garanti qu'au moins un nombre x est présent dans le multiset à ce moment.
- ? x — on vous donne un nombre x, vous devez calculer le OU exclusif au niveau du bit maximum (également appelé XOR) du nombre x et d'un certain nombre y du multiset A.
Multiset — c'est un ensemble qui permet plusieurs éléments identiques.
Saisie :
La première ligne de l'entrée contient le nombre q (1 ≤ q ≤ 200000) — le nombre de demandes que Vasiliy doit traiter.
Chacune des q lignes suivantes de l'entrée contient l'un des trois caractères "+", "-" ou "?" et le nombre x
i (1 ≤ x
i ≤ 10
9). Il est garanti qu'il y a au moins une requête "?" dans l'entrée.
Notez que le chiffre 0 sera toujours présent dans le multiset.
Sortie :
Pour chaque demande comme "?" imprimer un seul entier — valeur maximale de XOR au niveau du bit pour le nombre x
i et tout nombre du multiset A.
Exemple :
Entrée |
Sortie |
10
+8
+9
+11
+ 6
+ 1
? 3
- 8
? 3
? 8
? 11 |
11
10
14
13 |