AT_arc212_e [ARC212E] Drop Min

Description

$ (1,2,\ldots,N) $ の順列 $ P $ と、空の配列 $ A $ があります。 $ P $ に対して以下の操作を $ N-1 $ 回行います。 - 隣接する $ 2 $ 要素を選ぶ。選んだうち小さい方の要素を $ P $ から削除し、削除した要素の前後を結合する。削除した要素を $ A $ の末尾に追加する。 最終的にできる長さ $ N-1 $ の数列 $ A $ としてあり得るものの数を $ 998244353 $ で割ったあまりを求めてください。

Input Format

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

Output Format

答えを出力せよ。

Explanation/Hint

### Sample Explanation 1 最終的な $ A $ としては $ (1,2,3) $ の順列 $ 6 $ 通りの全てがあり得ます。 例えば、 $ A=(2,1,3) $ とする操作手順は以下の通りです。 - $ 2,3 $ を選ぶ。 $ 2 $ が削除され、 $ P=(1,3,4), A=(2) $ となる。 - $ 1,3 $ を選ぶ。 $ 1 $ が削除され、 $ P=(3,4), A=(2,1) $ となる。 - $ 3,4 $ を選ぶ。 $ 3 $ が削除され、 $ P=(4), A=(2,1,3) $ となる。 ### Constraints - $ 2 \le N \le 2\times 10^5 $ - $ 1 \le P_i \le N $ - $ P $ は $ (1,2,\ldots,N) $ の順列 - 入力される値は全て整数