Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Subset

Dễ

  • 100 Điểm
  • 0% Tỉ lệ AC
  • 0 Số AC
  • 256M Bộ nhớ giới hạn
  • 1.0s Giới hạn thời gian

Bạn được cho một dãy số nguyên, ban đầu dãy này rỗng. Lần lượt thực hiện \(Q\) truy vấn thuộc một trong ba dạng:

  • add \(x\): Thêm một phần tử với giá trị \(x\) vào dãy (Có thể tồn tại nhiều phần tử cùng giá trị

  • del \(x\): Xóa bỏ khỏi dãy một phần tử với giá trị \(x\)

  • cnt \(x\): Đếm xem trong dãy tồn tại bao nhiêu số \(y\) mà \(x\) & \(y\) = \(y\), trong đó & là phép AND bit

Yêu cầu: Với mỗi truy vấn loại cnt, bạn hãy in ra kết quả tương ứng

Input

Dòng đầu tiên chứa số nguyên dương \(Q\) \((Q \leq 2 \times 10^5)\) là số truy vấn.

\(Q\)dòng tiếp, mỗi dòng mô tả một truy vấn, \(x \leq 2^{16}\) trong mọi truy vấn.

Output

In ra nhiều dòng, mỗi dòng là kết quả cho truy vấn loại cnt tương ứng trong bộ dữ liệu

Example

Test 1

Input
7
add 11
cnt 15
add 4
add 0
cnt 6
del 4
cnt 15
Output
1
2
2

Scoring

Đảm bảo với mọi test, khi thực hiện thao tác del \(x\), \(x\) đã xuất hiện trong dãy.

\(30\%\) số test có \(Q \leq 1000\).

\(30\%\) số test có \(x \leq 2^8\).

\(40\%\) số test còn lại không có ràng buộc gì thêm.

Bình luận

Chưa có bình luận nào.