AT_abc438_c [ABC438C] 1D puyopuyo
Description
長さ $ N $ の整数列 $ A=(A_1,A_2,\ldots,A_N) $ が与えられます。
あなたは以下の操作を $ 0 $ 回以上好きな順番で好きな回数行うことができます:
- $ A_k=A_{k+1}=A_{k+2}=A_{k+3} $ を満たす $ 1 $ 以上 $ |A|-3 $ 以下の整数 $ k $ を選び、 $ A $ から $ A_k,A_{k+1},A_{k+2},A_{k+3} $ を削除する。(より厳密には、 $ A $ を $ (A_1,A_2,\ldots,A_{k-1},A_{k+4},A_{k+5},\ldots,A_N) $ に置き換える。)
ここで、 $ |A| $ は整数列 $ A $ の長さを表します。
操作を繰り返した後の最終的な $ |A| $ としてあり得る最小値を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ A_1 $ $ A_2 $ $ \ldots $ $ A_N $
Output Format
操作を繰り返した後の最終的な $ |A| $ としてあり得る最小値を出力せよ。
Explanation/Hint
### Sample Explanation 1
以下のように $ 2 $ 回操作することで $ |A|=2 $ にすることができます。
- $ k=4 $ を選ぶ。 $ A_4=A_5=A_6=A_7=4 $ が成り立つためこの選択は正当である。 $ A=(1,1,1,1,2,3) $ となる。
- $ k=1 $ を選ぶ。 $ A_1=A_2=A_3=A_4=1 $ が成り立つためこの選択は正当である。 $ A=(2,3) $ となる。
$ |A| $ を $ 2 $ 未満にすることはできないため、 $ 2 $ を出力してください。
### Sample Explanation 2
はじめから操作を行うことができません。
### Constraints
- $ 1\le N\le 2\times 10^5 $
- $ 1\le A_i\le N $
- 入力される値は全て整数