Điều hướng chính

Nhắn tin NQ Coding

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

Bài tập stlratnhieutruyvan

Rất nhiều truy vấn

Dễ Heap, Set, Map, ...

  • 100 Điểm
  • 1.0s Thời gian
  • 256M Bộ nhớ
  • 0% Tỉ lệ AC
  • 0 Số AC

Cho một tập hợp ban đầu rỗng. Bạn cần xử lí \(q\) truy vấn thuộc một trong các dạng sau:

  • 1 x: Thêm một phần tử giá trị \(x\) vào tập hợp.

  • 2 x: Xóa một phần tử giá trị \(x\) khỏi tập hợp (nếu trong tập hợp có nhiều phần tử giá trị \(x\) thì chỉ xóa một phần tử, nếu không có phần tử nào giá trị \(x\) thì bỏ qua truy vấn này).

  • 3 a b: Đếm số lượng phần tử trong tập hợp có giá trị thuộc đoạn \([a, b]\).

  • 4 x: Tìm phần tử lớn nhất trong tập hợp có giá trị không vượt quá \(x\). Nếu không có phần tử nào thỏa mãn, in ra \(-1\).

  • 5 x y: Thay thế tất cả các phần tử có giá trị \(x\) trong tập hợp bằng giá trị \(y\).

Input

  • Dòng đầu tiên chứa số nguyên \(q\) (\(1 \le q \le 10^5\)).

  • \(q\) dòng tiếp theo, mỗi dòng chứa một truy vấn thuộc một trong các dạng được mô tả ở trên (\(1 \le x, a, b, y \le 10^6\)).

Dữ liệu được cho đảm bảo mỗi truy vấn thuộc đúng một trong 5 dạng trên.

Output

Với mỗi truy vấn thuộc loại \(3\), \(4\) hoặc \(5\), in ra trên một dòng riêng một số nguyên là đáp án tương ứng.

Example

Input:

8
1 1 3
1 2 2
5 1
3
2 1 2
1 3 4
4
5 2

Output:

7
1
3
17

Note

Diễn biến của tập hợp \(S\) qua từng truy vấn trong ví dụ:

  • Sau hai truy vấn chèn đầu tiên, \(S\) gồm \(3\) phần tử giá trị \(1\) và \(2\) phần tử giá trị \(2\).

  • Truy vấn 5 1: \(y = 1\). Không có giá trị nào nhỏ hơn \(1\) đang có trong \(S\) nên \(x\) không tồn tại. \(z = 2\) (giá trị nhỏ nhất lớn hơn \(1\)). Tổng các phần tử mang giá trị \(1\) hoặc \(2\) là \(1 \times 3 + 2 \times 2 = 7\).

  • Truy vấn 3: giá trị nhỏ nhất đang có trong \(S\) là \(1\).

  • Truy vấn 2 1 2: xóa \(2\) phần tử giá trị \(1\), còn lại \(1\) phần tử giá trị \(1\) và \(2\) phần tử giá trị \(2\).

  • Truy vấn 1 3 4: chèn thêm \(4\) phần tử giá trị \(3\). \(S\) gồm \(1\) phần tử giá trị \(1\), \(2\) phần tử giá trị \(2\), \(4\) phần tử giá trị \(3\).

  • Truy vấn 4: giá trị lớn nhất đang có trong \(S\) là \(3\).

  • Truy vấn 5 2: \(y = 2\). \(x = 1\) (giá trị lớn nhất nhỏ hơn \(2\)), \(z = 3\) (giá trị nhỏ nhất lớn hơn \(2\)). Tổng các phần tử mang giá trị \(1\), \(2\) hoặc \(3\) là \(1 \times 1 + 2 \times 2 + 3 \times 4 = 17\).

Bình luận

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