Problem
Tiene q consultas y un conjunto múltiple A que inicialmente contiene solo el número 0. Hay tres tipos de consultas:
- +x : agregue el número x al conjunto múltiple A.
- -x : elimine una aparición del número x del conjunto múltiple A. Se garantiza que al menos un número x está presente en el conjunto múltiple en este momento.
- ? x & mdash; se le da un número x, debe calcular el OR exclusivo bit a bit máximo (también conocido como XOR) del número x y algún número y del conjunto múltiple A.
Conjunto múltiple: este es un conjunto que permite múltiples elementos idénticos.
Entrada:
La primera línea de la entrada contiene el número q (1 ≤ q ≤ 200000) — la cantidad de solicitudes que Vasiliy necesita procesar.
Cada una de las siguientes líneas q de la entrada contiene uno de los tres caracteres "+", "-" o "?" y el número x
i (1 ≤ x
i ≤ 10
9). Se garantiza que hay al menos una consulta "?" en la entrada.
Tenga en cuenta que el número 0 siempre estará presente en el conjunto múltiple.
Salida:
Para cada solicitud como "?" imprime un solo entero — el valor máximo del XOR bit a bit para el número x
i y cualquier número del conjunto múltiple A.
Ejemplo:
Entrada |
Salida |
10
+8
+9
+11
+ 6
+ 1
? 3
- 8
? 3
? 8
? 11 |
11
10
14
13 |