AT_abc217_e [ABC217E] Sorting Queries

Description

[problemUrl]: https://atcoder.jp/contests/abc217/tasks/abc217_e 空の列 $ A $ があります。クエリが $ Q $ 個与えられるので、与えられた順番に処理してください。 クエリは次の $ 3 $ 種類のいずれかです。 - `1 x` : $ A $ の最後尾に $ x $ を追加する。 - `2` : $ A $ の最初の要素を出力する。その後、その要素を削除する。このクエリが与えられるとき、$ A $ は空でないことが保証される。 - `3` : $ A $ を昇順にソートする。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ Q $ $ \mathrm{query}\ 1 $ $ \mathrm{query}\ 2 $ $ \vdots $ $ \mathrm{query}\ Q $ $ i $ 番目のクエリ $ \mathrm{query}\ i $ では、まずクエリの種類 $ c_i $( $ 1,\ 2,\ 3 $ のいずれか)が与えられる。 $ c_i\ =\ 1 $ の場合はさらに整数 $ x $ が追加で与えられる。 すなわち、各クエリは以下に示す $ 3 $ つの形式のいずれかである。 > $ 1 $ $ x $ > $ 2 $ > $ 3 $

Output Format

$ c_i\ =\ 2 $ を満たすクエリの回数を $ q $ として $ q $ 行出力せよ。 $ j $ $ (1\ \leq\ j\ \leq\ q) $ 行目では $ j $ 番目のそのようなクエリに対する答えを出力せよ。

Explanation/Hint

### 制約 - $ 1\ \leq\ Q\ \leq\ 2\ \times\ 10^5 $ - $ 0\ \leq\ x\ \leq\ 10^9 $ - クエリ `2` が与えられるとき、$ A $ は空でない。 - 入力は全て整数である。 ### Sample Explanation 1 入力例 $ 1 $ において、 $ i $ 番目のクエリを処理した後の $ A $ の状態を $ i $ 行目に示すと以下のようになります。 - $ (4) $ - $ (4,\ 3) $ - $ (4,\ 3,\ 2) $ - $ (4,\ 3,\ 2,\ 1) $ - $ (1,\ 2,\ 3,\ 4) $ - $ (2,\ 3,\ 4) $ - $ (2,\ 3,\ 4,\ 0) $ - $ (3,\ 4,\ 0) $ ### Sample Explanation 2 入力例 $ 2 $ において、 $ i $ 番目のクエリを処理した後の $ A $ の状態を $ i $ 行目に示すと以下のようになります。 - $ (5) $ - $ (5,\ 5) $ - $ (5,\ 5,\ 3) $ - $ (5,\ 3) $ - $ (3,\ 5) $ - $ (5) $ - $ (5,\ 6) $ - $ (5,\ 6) $ - $ (6) $