Module: بور


Problem

9 /10


چند مجموعه و XOR

Problem

شما query های q و یک چند مجموعه A دارید که در ابتدا فقط شامل عدد 0 است. سه نوع پرس و جو وجود دارد:
  • +x — عدد x را به چند مجموعه A اضافه کنید.
  • -x — یک مورد از عدد x را از چند مجموعه A حذف کنید. تضمین می شود که حداقل یک عدد x در این لحظه در چند مجموعه وجود دارد.
  • ؟ x — به شما یک عدد x داده می شود، باید حداکثر OR منحصر به فرد بیتی (همچنین به عنوان XOR شناخته می شود) عدد x و مقداری عدد y از چند مجموعه A را محاسبه کنید.
چند مجموعه — این مجموعه ای است که به چندین عنصر یکسان اجازه می دهد.

ورودی:
خط اول ورودی حاوی عدد q (1 ≤ q ≤ 200000) — تعداد درخواست هایی که واسیلی باید پردازش کند.

هر یک از خطوط q زیر ورودی شامل یکی از سه کاراکتر "+"، "-" است. یا "؟" و عدد xi (1 ≤ xi ≤ 109). تضمین شده است که حداقل یک پرس و جو در ورودی وجود دارد.

توجه داشته باشید که عدد 0 همیشه در مولتی مجموعه وجود خواهد داشت.

خروجی:
برای هر درخواستی مانند "?" چاپ یک عدد صحیح — حداکثر مقدار XOR بیتی برای عدد xi و هر عددی از چند مجموعه A.

مثال:
  <بدن>
ورودی خروجی
10
+8
+9
+11
+ 6
+ 1
? 3
- 8
? 3
? 8
? 11
11
10
14
13