AT_arc155_f [ARC155F] Directable as Desired
Description
[problemUrl]: https://atcoder.jp/contests/arc155/tasks/arc155_f
長さ $ N $ の非負整数列 $ D=(D_1,\ D_2,\ \dots,\ D_N) $ が与えられます。
$ 1 $ から $ N $ までの番号が付いた $ N $ 頂点のラベル付き木のうち、以下の条件を満たすようなものの個数を $ 998244353 $ で割った余りを求めてください。
- $ N-1 $ 本の辺を適切に向き付けすることで、各頂点 $ i\ (1\leq\ i\ \leq\ N) $ の出次数をちょうど $ D_i $ にすることができる。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ D_1 $ $ D_2 $ $ \dots $ $ D_N $
Output Format
答えを出力してください。
Explanation/Hint
### 制約
- $ 2\ \leq\ N\ \leq\ 2\ \times\ 10^5 $
- $ 0\ \leq\ D_i\ \leq\ N-1 $
- $ \sum_{i=1}^{N}\ D_i\ =\ N-1 $
- 入力される値はすべて整数
### Sample Explanation 1
条件を満たす木(およびその向き付けの例)は下の $ 5 $ 種類です。 !\[\](https://img.atcoder.jp/arc155/5b5b99752b5330a2dd41607c3946fdd4.jpg)