CTDL - set8 - Truy vấn trên set
Point: 100.0
Time limit: 1.0s
Memory limit: 977 M
Input: stdin
Output: stdout
Author:  
Problem type
Ngôn ngữ cho phép
C#, C++, Java, Python

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ử đó.