Module: Bor


Problem

9 /10


Multiset dan XOR

Problem

Anda mempunyai pertanyaan q dan multiset A yang pada mulanya hanya mengandungi nombor 0. Terdapat tiga jenis pertanyaan:
  • +x — tambah nombor x pada multiset A.
  • -x — alih keluar satu kejadian nombor x daripada multiset A. Adalah dijamin bahawa sekurang-kurangnya satu nombor x terdapat dalam multiset pada masa ini.
  • ? x — anda diberi nombor x, anda perlu mengira eksklusif bitwise maksimum ATAU (juga dikenali sebagai XOR) bagi nombor x dan beberapa nombor y daripada multiset A.
Berbilang set — ini ialah set yang membenarkan berbilang elemen yang sama.

Input:
Baris pertama input mengandungi nombor q (1 ≤ q ≤ 200000) — bilangan permintaan yang perlu diproses oleh Vasiliy.

Setiap baris q berikut bagi input mengandungi satu daripada tiga aksara "+", "-" atau "?" dan nombor xi (1 ≤ xi ≤ 109). Ia dijamin bahawa terdapat sekurang-kurangnya satu pertanyaan "?" dalam input.

Ambil perhatian bahawa nombor 0 akan sentiasa ada dalam multiset.

Output:
Untuk setiap permintaan seperti "?" mencetak satu integer — nilai maksimum XOR bitwise untuk nombor xi dan sebarang nombor daripada multiset A.

Contoh:
 
Input Output
10
+8
+9
+11
+ 6
+ 1
? 3
- 8
? 3
? 8
? 11
11
10
14
13