AT_tupc2023_f Hotel
Description
長さ $ 1 $ の整数列 $ A=(1) $ があります。 クエリが $ Q $ 個与えられるので順に処理してください。
クエリは以下の $ 3 $ 種類です。
いずれも、各クエリ処理前の数列 $ A $ の長さを $ n $ とし、 $ A=(a_{1},a_{2},\dots,a_{n}) $ とします。
- `1 x` : $ A $ を長さ $ n+1 $ の数列 $ (x,a_{1},a_{2},\dots,a_{n}) $ に置き換える。
- `2 x` : $ A $ を長さ $ 2n $ の数列 $ (x,a_{1},x,a_{2},\dots,x,a_{n}) $ に置き換える。
- `3 x` : $ x>n $ ならば $ -1 $ を出力する。 $ x\le n $ ならば $ a_{x} $ を出力する。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ Q $ $ t_1 $ $ x_1 $ $ t_2 $ $ x_2 $ $ \vdots $ $ t_Q $ $ x_Q $
ここで、 $ t_i $ $ (1\leq i\leq Q) $ はクエリの種類を表す整数で、 $ t_i=1,2,3 $ のいずれかである。
Output Format
$ t_i=3 $ を満たすクエリの回数を $ q $ として、 $ q $ 行出力せよ。 $ j $ $ (1\leq j\leq q) $ 行目では、 $ j $ 番目のそのようなクエリに対する答えを出力せよ。
Explanation/Hint
### Sample Explanation 1
クエリ $ 1 $ 前: $ A=(1) $
クエリ $ 1 $ 後: $ A=(4,1) $
クエリ $ 2 $ 後: $ A=(4,1) $
クエリ $ 3 $ 後: $ A=(3,4,1) $
クエリ $ 4 $ 後: $ A=(3,4,1) $
クエリ $ 5 $ 後: $ A=(3,3,3,4,3,1) $
クエリ $ 6 $ 後: $ A=(3,3,3,4,3,1) $
となっています。
### Constraints
- $ 1 \leq Q \leq 2\times 10^5 $
- $ 1\leq x\leq 10^{9} $
- 出力クエリが少なくとも1つ存在する
- 入力はすべて整数