AT_agc068_b [AGC068B] 01 Graph Construction

Description

[problemUrl]: https://atcoder.jp/contests/agc068/tasks/agc068_b `0`,`1` のみからなる文字列の組 $ (S,T) $ が次の条件をすべて満たすとき (そしてそのときのみ) それを**良い**文字列組と呼ぶことにします. - $ S,T $ に含まれる `0` の個数は等しい. - $ S,T $ に含まれる `1` の個数は等しい. 特に,良い文字列組 $ (S,T) $ について,$ S,T $ の長さは同じです. 良い文字列組 $ (S,T) $ に対し,無向グラフ $ G(S,T) $ を次のように定義します. - $ S $ の長さを $ L $ とする.頂点 $ 1,2,\cdots,L $ からなるグラフ $ g $ をつくる. - $ S $ に含まれる `0` の個数を $ n $ とする. $ S $ に含まれる `0` の index を $ 1\ \leq\ a_1\

Input Format

入力は以下の形式で標準入力から与えられる. > $ N $ $ A_1 $ $ A_2 $ $ \cdots $ $ A_N $

Output Format

答えを以下の形式で出力せよ. > $ L $ $ S $ $ T $ ここで,$ L $ は $ S,T $ の長さである. 解が複数存在する場合,どれを出力しても構わない.

Explanation/Hint

### 制約 - $ 1\ \leq\ N\ \leq\ 100 $ - $ 1\ \leq\ A_i\ \leq\ N $ - 入力される値はすべて整数 ### Sample Explanation 1 出力例の $ S,T $ について $ G(S,T) $ を求めると,次のようになります. - $ 4 $ 頂点ならなるグラフ $ g $ を用意する. - $ S $ に含まれる `0` の index は $ (1,2) $ で,$ T $ に含まれる `0` の index は $ (3,4) $ である. 辺 $ (1,3),(2,4) $ を $ g $ に追加する. - $ S $ に含まれる `1` の index は $ (3,4) $ で,$ T $ に含まれる `1` の index は $ (1,2) $ である. 辺 $ (3,1),(4,2) $ を $ g $ に追加する. - $ G(S,T)=g $ とする. $ G(S,T) $ の連結成分は,頂点 $ (1,3) $ からなる成分と頂点 $ (2,4) $ からなる成分です. これは条件をすべて満たすので,この $ (S,T) $ は正しい出力です.