AT_arc186_b [ARC186B] Typical Permutation Descriptor

Description

[problemUrl]: https://atcoder.jp/contests/arc186/tasks/arc186_b 長さ $ N $ の整数列 $ (A_1,\dots,A_N) $ が与えられます。この整数列は、各 $ i=1,\dots,N $ について、$ 0\le\ A_i\

Input Format

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

Output Format

条件を満たす順列の数を $ 998244353 $ で割ったあまりを出力せよ。

Explanation/Hint

### 制約 - $ 1\le\ N\le\ 3\times\ 10^5 $ - $ 0\le\ A_i\ \lt\ i $ - $ A_1,\dots,A_N $ について、問題文中の条件を満たすような順列が存在する - 入力はすべて整数 ### Sample Explanation 1 $ (2,\ 3,\ 1,\ 4),\ (2,\ 4,\ 1,\ 3),\ (3,\ 4,\ 1,\ 2) $ の $ 3 $ つです。 ### Sample Explanation 2 $ 2350309500 $ を $ 998244353 $ で割ったあまりである、 $ 353820794 $ が答えです。