Module: Bor


Problem

9 /10


Çoklu küme ve XOR'lar

Problem

q sorgunuz ve başlangıçta yalnızca 0 sayısını içeren bir çoklu küme A'nız var. Üç tür sorgu vardır:
  • +x — çoklu küme A'ya x sayısını ekleyin.
  • -x — çoklu küme A'dan x sayısının bir örneğini kaldırın. Şu anda çoklu kümede en az bir x sayısının bulunması garanti edilir.
  • ? x — size bir x sayısı verildiyse, x sayısının ve A çoklu kümesindeki bir y sayısının bit bazında maksimum dışlayıcı OR'sini (XOR olarak da bilinir) hesaplamanız gerekir.
Çoklu küme — bu, birden çok özdeş öğeye izin veren bir kümedir.

Giriş:
Girişin ilk satırı q sayısını içerir (1 ≤ q ≤ 200000) — Vasiliy'nin işlemesi gereken istek sayısı.

Girişin aşağıdaki q satırlarının her biri, "+", "-" üç karakterden birini içerir. veya "?" ve xi sayısı (1 ≤ xi ≤ 109). Girişte en az bir "?" sorgusu olması garanti edilir.

0 sayısının çoklu kümede her zaman bulunacağını unutmayın.

Çıktı:
"?" gibi her istek için tek bir tamsayı yazdır — xi sayısı ve çoklu küme A'dan herhangi bir sayı için bitsel XOR'un maksimum değeri.

Örnek:
 
Giriş Çıktı
10
+8
+9
+11
+ 6
+ 1
? 3
- 8
? 3
? 8
? 11
11
10
14
13