Cho một tập \(S\) ban đầu rỗng, bạn cần thực hiện \(q\) truy vấn có dạng như sau:
- \(1\) \(x\): Thêm số nguyên \(x\) vào tập \(S\) \((0 \le x \le 10^9)\)
- \(2\) \(x\): Xóa số nguyên \(x\) ra khỏi tập \(S\), nếu số \(x\) xuất hiện nhiều lần, ta chỉ xóa nó một lần, nếu số đó không xuất hiện trong tập \(S\), ta bỏ qua truy vấn này.
- \(3\) \(L\) \(R\): In ra tổng các phần tử trong tập \(S\) có giá trị trong đoạn \([L,R]\) \((0 \le L \le R \le 10^9)\)
- \(4\) \(k\): In ra phần tử bé thứ \(k\) trong tập \(S\) \((1 \le K \le |S|)\)
- \(5\) \(a\): In ra \(max(a \oplus x_i)\) với mọi \(x_i\) thuộc \(S\), nếu mảng rỗng thì in ra \(a\)
Dữ liệu vào
- Dòng đầu tiên gồm số nguyên \(q\) \((1 \le q \le 2 \times 10^5)\) mô tả số truy vấn.
- \(q\) dòng sau, mỗi dòng miêu tả một truy vấn.
Dữ liệu ra
- Mỗi dòng in ra kết quả theo thứ tự nhập vào của các truy vấn loại \(3,4,5\)
Input 1
10
1 3
1 4
3 1 3
4 2
1 2
2 2
4 1
2 5
3 1 6
5 8
Output 1
3
4
3
7
12
Nhận xét