AT_abc468_f [ABC468F] Chmax

Description

正整数 $ N $ と $ (1,2,\ldots,N) $ の並び替え $ P=(P_1,P_2,\ldots,P_N) $ が与えられます。 変数 $ x,y,c $ があります。はじめ $ x=y=c=0 $ です。 あなたは $ k=1,2,\ldots,N $ の順に以下の操作のいずれかを行います: - 操作 $ 1 $ : $ x < P_k $ ならば $ c $ を $ 1 $ 増やす。その後、 $ x $ を $ \max(x,P_k) $ に置き換える。 - 操作 $ 2 $ : $ y < P_k $ ならば $ c $ を $ 1 $ 増やす。その後、 $ y $ を $ \max(y,P_k) $ に置き換える。 最終的な $ c $ の値の最大値を求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ P_1 $ $ P_2 $ $ \ldots $ $ P_N $

Output Format

答えを出力せよ。

Explanation/Hint

### Sample Explanation 1 以下のように操作することで $ c=4 $ を達成することができます: - $ k=1 $ のとき:操作 $ 1 $ を行う。 $ (x,y,c)=(4,0,1) $ となる。 - $ k=2 $ のとき:操作 $ 1 $ を行う。 $ (x,y,c)=(4,0,1) $ となる。 - $ k=3 $ のとき:操作 $ 2 $ を行う。 $ (x,y,c)=(4,1,2) $ となる。 - $ k=4 $ のとき:操作 $ 2 $ を行う。 $ (x,y,c)=(4,2,3) $ となる。 - $ k=5 $ のとき:操作 $ 2 $ を行う。 $ (x,y,c)=(4,5,4) $ となる。 どのように操作しても $ c $ を $ 4 $ より大きくすることはできないので、 $ 4 $ を出力してください。 ### Constraints - $ 1\le N\le 5\times 10^5 $ - $ P $ は $ (1,2,\ldots,N) $ の並び替え - 入力される値は全て整数