AT_arc162_d [ARC162D] Smallest Vertices

Description

[problemUrl]: https://atcoder.jp/contests/arc162/tasks/arc162_d この問題では、根付き有向木と言った際には全ての辺が根から葉の方向に向き付けられた根付き木を指すものとします。 総和が $ N-1 $ であるような非負整数列 $ d=(d_1,d_2,\ldots,d_N) $ が与えられます。 頂点に $ 1 $ から $ N $ の番号がついた、頂点 $ 1 $ を根とする $ N $ 頂点の根付き有向木のうち、以下の条件を満たすものを**良い木**と呼びます。 - 頂点 $ i\ (1\leq\ i\ \leq\ N) $ の出次数は $ d_i $ さらに、良い木の頂点 $ v $ に対して、 $ f(v) $ を「頂点 $ v $ の部分木に含まれる頂点($ v $ 含む)の頂点番号の最小値」と定め、$ f(v)=v $ を満たす頂点を**良い頂点**と呼びます。 良い木全てに対する良い頂点の個数の総和を $ 998244353 $ で割ったあまりを求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ d_1 $ $ d_2 $ $ \ldots $ $ d_N $

Output Format

答えを出力せよ。

Explanation/Hint

### 制約 - $ 2\ \leq\ N\ \leq\ 500 $ - $ 0\ \leq\ d_i\ \leq\ N-1 $ - $ d_1\ \geq\ 1 $ - $ \sum_{i=1}^N\ d_i\ =\ N-1 $ - 入力される数値は全て整数 ### Sample Explanation 1 良い木は以下の $ 2 $ 通りあります。青く塗られた頂点は良い頂点です。 !\[\](https://img.atcoder.jp/arc162/D-sample1-zFXKLnmt.png) それぞれについて良い頂点は $ 4 $ 個、 $ 3 $ 個なので答えは $ 7 $ です。