#1129. 动态最小值

动态最小值

No submission language available for this problem.

Background

Special for beginners, ^_^

Description

你需要维护一个序列,刚开始的时候序列为空。会告诉你 mm 次操作,每次操作时以下两个之一:

  1. 插入一个整数 xx,并输出序列的最小值。
  2. 删除这个序列的最小值,并输出序列的最小值。

如果某个操作不合法,则输出"impossibleimpossible"。

Format

Input

第一行一个整数 m(1m2e5)m(1 \leq m \leq 2e5),表示操作次数。

接下来 mm 行,每行先有一个整数 opt(1opt2)opt(1 \leq opt \leq 2)

  1. 如果 opt=1opt=1,则需要再输入一个整数 x(1x1e9)x(1 \leq x \leq 1e9),然后输出最小值。
  2. 如果 opt=2opt=2,输出最小值。

Output

输出 mm 行。

Samples

4
1 2
1 3
2
2
2
2
3
impossible

Limitation

1s, 1024KiB for each test case.