AT_maximum_cup_2018_e Interrupt Array
Description
[problemUrl]: https://atcoder.jp/contests/maximum-cup-2018/tasks/maximum_cup_2018_e
数列$ S\ = $ { $ 1 $ } が渡されます。以下の$ 2 $種類のクエリを合計$ q $回実行してください。
$ A,i,j\ :\ S[k]\ =\ i $ を満たすいずれか一つの$ k $に対して、「$ S[k] $を取り除き、その位置に数列$ V\ =\ {\ i,j,i\ } $を挿入する」という操作を行う。
$ B,i,j\ : $今までのクエリでできる可能性のある数列すべてに対して、 「$ S[a]\ =\ i, $ $ S[b]\ =\ j $を満たし、$ |a-b| $が最小になるときの$ a $, $ b $に対し、{ $ S[k]\ |\ (min(a, $ $ b)\ b)) $ } に含まれる数の種類」を求めてから、 その中で最も小さい数を出力する。
Input Format
入力は以下の形式で標準入力から与えられます。
> $ q $ $ c_1 $ $ i_1 $ $ j_1 $ $ : $ $ c_q $ $ i_q $ $ j_q $
$ c_k $ は $ A $ または $ B $ であり、$ k $ 番目のクエリの種類を表します $ (1\leq\ k\leq\ q) $。
Output Format
クエリ$ B $が行われるたびに、$ 1 $行にクエリ$ B $の結果を出力してください。
Explanation/Hint
### 制約
$ 3\ \leq\ q\ \leq\ 200000 $
$ i,j $は非負整数です。
$ 1\ \leq\ i,j\ \leq\ q $
最初の二つは必ずクエリAが渡されます。
クエリ$ A $について、$ i $は数列に存在している数のみ、$ j $は数列に存在しない数のなかで、最も小さい正の整数が出現します。
クエリ$ B $について、$ i,j $は数列に存在している数のみ出現し、$ i\ \neq\ j $です。
### Sample Explanation 1
{ $ 1 $ } これが初期状態です。以降できる可能性のある数列を列挙していきます。 - $ A,1,2 $ { $ 1,2,1 $} - $ A,1,3 $ { $ 1,3,1,2,1 $ } $ , $ { $ 1,2,1,3,1 $} - $ A,2,4 $ { $ 1,3,1,2,4,2,1 $ } $ , $ { $ 1,2,4,2,1,3,1 $ } - $ A,2,5 $ { $ 1,3,1,2,5,2,4,2,1 $ } $ , $ { $ 1,3,1,2,4,2,5,2,1 $ } $ , $ { $ 1,2,5,2,4,2,1,3,1 $} $ , $ { $ 1,2,4,2,5,2,1,3,1 $ } - $ B,3,5 $ 各数列に対して、最も距離の近い$ 3 $と$ 5 $の間にある数字の種類を求めていきます。 各数列における値は$ 2,3,3,2 $なので$ 2 $を出力します。 - $ A,1,6 $ { $ 1,6,1,3,1,2,5,2,4,2,1 $ } $ , $ { $ 1,6,1,3,1,2,4,2,5,2,1 $ } $ , $ { $ 1,6,1,2,5,2,4,2,1,3,1 $ } $ , $ { $ 1,6,1,2,4,2,5,2,1,3,1 $ } $ , $ { $ 1,3,1,6,1,2,5,2,4,2,1 $ } $ , $ { $ 1,3,1,6,1,2,4,2,5,2,1 $ } $ , $ { $ 1,2,5,2,4,2,1,6,1,3,1 $ } $ , $ { $ 1,2,4,2,5,2,1,6,1,3,1 $ } $ , $ { $ 1,3,1,2,5,2,4,2,1,6,1 $ } $ , $ { $ 1,3,1,2,4,2,5,2,1,6,1 $ } $ , $ { $ 1,2,5,2,4,2,1,3,1,6,1 $ } $ , $ { $ 1,2,4,2,5,2,1,3,1,6,1 $ } - $ B,3,6 $ 各数列における値は$ 1,1,4,4,1,1,4,4,1,1,4,1 $なので、$ 1 $を出力します。