AT_utpc2025_e Exchange or Not

Description

長さ $ N $ の数列 $ A=(A_1,A_2,\dots,A_N) $ が与えられます。この $ A $ に対して、 $ i=1,2, \dots, N-1 $ の順に、以下の操作を行います。 - $ A_i $ と $ A_{i+1} $ を入れ替えるか、または何もしない。 操作後の数列として考えられるものの個数を $ 998244353 $ で割った余りを出力してください。

Input Format

入力は以下の形式で標準入力から与えられる. > $ N $ $ A_1 $ $ A_2 $ $ \dots $ $ A_N $

Output Format

答えを $ 1 $ 行に出力せよ。

Explanation/Hint

### Sample Explanation 1 操作後の数列として考えられるのは以下の $ 10 $ 通りです。 - $ (1,2,1,2,3) $ - $ (1,2,1,3,2) $ - $ (1,2,2,1,3) $ - $ (1,2,2,3,1) $ - $ (1,1,2,2,3) $ - $ (1,1,2,3,2) $ - $ (2,1,1,2,3) $ - $ (2,1,1,3,2) $ - $ (2,1,2,1,3) $ - $ (2,1,2,3,1) $ ### Constraints - 入力は全て整数 - $ 1 \leq N \leq 10^6 $ - $ 1 \leq A_i \leq N $