Trạng thái

Cho 1 tập hợp số nguyên dương \(S\). Ban đầu, tập hợp này rỗng.

Cho 1 số nguyên dương \(k\). Ban đầu, \(k = 1.\)

Cho \(T\) truy vấn, mỗi truy vấn có dạng:

  • 1 x: Thêm một phần tử có giá trị bằng \(x\) vào tập hợp \(S\).
  • 2 plus: Tăng \(k\) lên 1 đơn vị.
  • 2 minus: Giảm \(k\) đi 1 đơn vị.
  • 3: In ra phần tử nhỏ thứ \(k\) trong tập hợp \(S\).

Yêu cầu

Với mỗi truy vấn loại 3, in ra phần tử nhỏ thứ \(k\) trong tập.

Input

  • Dòng đầu tiên chứa 1 số nguyên dương \(T\) \((1 ≤ T ≤ 10^5)\).
  • \(T\) dòng tiếp theo, mỗi dòng chứa 1 truy vấn thuộc một trong bốn truy vấn ở trên.
  • Ta có thể đảm bảo mọi x của truy vấn loại 1 đôi một khác nhau.
  • Ta có thể đảm bảo tại mọi truy vấn, \(1 ≤ k ≤ S. size().\)

Output

Với mỗi truy vấn loại 3, in ra kết quả tương ứng trên các dòng khác nhau.

Example

INPUT OUTPUT
7
1 3
3
1 5
2 plus
3
2 minus
3
3
5
3

Gợi ý: Vì trong tập hợp Set, ta không thể đưa ngay ra một phần tử khi biết vị trí của phần tử đó.

Thông tin
Thông tin bài tập
Gửi bài giải
Điểm
100
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
977 M
I/O
stdin -> stdout
Tác giả
Loại đề bài
C - Cấu trúc dữ liệu nâng cao: 05 - Set
Ngôn ngữ cho phép
C#, C++, Java, Python