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 $ - 入力される値は全て整数