CTDL - set3 - Giá trị nhỏ nhất trong 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 một tập hợp số nguyên \(S\). Ban đầu tập hợp này rỗng.

Bạn phải thực hiện \(T\) thao tác, mỗi thao tác có thể là 1 trong 2 thao tác sau:

  • \(1x\): Thêm một phần tử có giá trị là x vào trong tập hợp \(S\).
  • \(2x\): Xóa đi tất cả các phần tử có giá trị bằng \(x\) trong tập hợp \(S\).

Yêu cầu

Sau mỗi lần thực hiện 1 thao tác, hãy in ra giá trị của phần tử nhỏ nhất còn ở trong tập \(S\). Nếu tập hợp \(S\) sau khi thực hiện thao tác là một tập hợp rỗng, in ra −1.

Input

  • Dòng đầu tiên chứa 1 số nguyên dương \(T(1 ≤ T ≤ 10^5)\) −Số lượng thao tác.

  • \(T\) dòng tiếp theo, mỗi dòng chứa một thao tác có dạng \((1, x)\) hoặc \((2, x)\). \((|x| ≤ 10^9)\).

Output

In ra trên \(T\) dòng, dòng thứ \(i\) là giá trị của phần tử nhỏ nhất trong tập \(S\) sau khi thực hiện thao tác thứ i.

Ví dụ

INPUT OUTPUT
\(3\)
\(1\) \(2\)
\(1\) \(3\)
\(2\) \(2\)
\(2\)
\(2\)
\(3\)
\(5\)
\(1\) \(4\)
\(1\) \(3\)
\(1\) \(2\)
\(1\) \(2\)
\(2\) \(2\)
\(4\)
\(3\)
\(2\)
\(2\)
\(3\)
\(3\)
\(1\) \(2\)
\(1\) \(2\)
\(2\) \(2\)
\(2\)
\(2\)
-\(1\)
CC BY-NC-SA 4.0