EduBrick

L. Максимальный XOR

1000 мс · 256 МБ · всё или ничего

Мультимножество изначально содержит число 0. Обрабатывайте запросы: добавить число, удалить одно вхождение числа, найти максимум x⊕yx \oplus y по всем yy из мультимножества.

Формат ввода

В первой строке - число запросов qq (1≤q≤2⋅1051 \le q \le 2 \cdot 10^5).

Далее qq строк вида «+ x», «- x» или «? x» (1≤x≤1091 \le x \le 10^9). При удалении число заведомо есть в мультимножестве. Хотя бы один запрос - это «?».

Формат вывода

На каждый запрос «?» выведите максимальное значение XOR.

Примеры

ввод
10
+ 8
+ 9
+ 11
+ 6
+ 1
? 3
- 8
? 3
? 8
? 11
вывод
11
10
14
13
ввод
1
? 5
вывод
5
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.