#abc302g. [abc302_g]Sort from 1 to 4

[abc302_g]Sort from 1 to 4

問題文

全ての要素が 11 以上 44 以下の整数である、長さ NN の数列 A=(A1,A2,ldots,AN)A=(A_1,A_2,\\ldots,A_N) が与えられます。

高橋君は次の操作を何回でも (00 回でも良い) 繰り返し行う事ができます。

  • 1leqi<jleqN1\\leq i<j\\leq N をみたす整数の組 (i,j)(i,j) を選び、AiA_iAjA_j を交換する。

数列 AA を広義単調増加にするために必要な操作回数の最小値を求めてください。
ただし、数列 AA が広義単調増加であるとは、1leqileqN11\\leq i\\leq N-1 をみたすすべての整数について AileqAi+1A_i\\leq A_{i+1} が成り立つことをさします。

制約

  • 2leqNleq2times1052 \\leq N \\leq 2\\times 10^5
  • 1leqAileq41\\leq A_i \\leq 4
  • 入力はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

NN A1A_1 A2A_2 ldots\\ldots ANA_N

出力

数列 AA を広義単調増加にするために必要な操作回数の最小値を一行に出力せよ。


入力例 1

6
3 4 1 1 2 4

出力例 1

3

次のようにして 33 回の操作で AA を広義単調増加にすることができます。

  • (i,j)=(2,3)(i,j)=(2,3) を選び、A2A_2A3A_3 を交換する。A=(3,1,4,1,2,4)A=(3,1,4,1,2,4) となる。
  • (i,j)=(1,4)(i,j)=(1,4) を選び、A1A_1A4A_4 を交換する。A=(1,1,4,3,2,4)A=(1,1,4,3,2,4) となる。
  • (i,j)=(3,5)(i,j)=(3,5) を選び、A3A_3A5A_5 を交換する。A=(1,1,2,3,4,4)A=(1,1,2,3,4,4) となる。

22 回以下の操作で AA を広義単調増加にすることはできないため、このとき操作回数が最小となります。
よって、33 を出力します。


入力例 2

4
2 3 4 1

出力例 2

3