AT_asaporo2_f Unicyclic Graph Counting
Description
[problemUrl]: https://atcoder.jp/contests/cf17-tournament-round3-open/tasks/asaporo2_f
すぬけくんは以下のような問題を考えました。
> 長さ $ N $ の数列 $ d $ が与えられます。 以下の条件を満たす頂点に $ 1,2,...,N $ のラベルがついた $ N $ 頂点の無向グラフの数を modulo $ 10^{9}\ +\ 7 $ で求めてください。
>
> - グラフは単純かつ連結
> - 頂点 $ i $ の次数は $ d_i $
**$ 2\ \leq\ N,\ 1\ \leq\ d_i\ \leq\ N-1,\ {\rm\ Σ}\ d_i\ =\ 2(N-1) $ を満たす場合** には、この問題の答えは $ \frac{(N-2)!}{(d_{1}\ -1)!(d_{2}\ -\ 1)!\ ...\ (d_{N}-1)!} $ で表せることが証明できます。
すぬけくんは **$ 3\ \leq\ N,\ 1\ \leq\ d_i\ \leq\ N-1,\ {\ \rm\ Σ}\ d_i\ =\ 2N $ を満たす場合** どうなるかが気になっています。 すぬけくんの代わりにこの問題を解いてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ d_1 $ $ d_2 $ $ ... $ $ d_{N} $
Output Format
答えを出力せよ。
Explanation/Hint
### 制約
- $ 3\ \leq\ N\ \leq\ 300 $
- $ 1\ \leq\ d_i\ \leq\ N-1 $
- $ {\ \rm\ Σ}\ d_i\ =\ 2N $
### 部分点
- $ 200 $ 点分のデータセットでは $ N\ \leq\ 5 $ が成立する
- 別の $ 200 $ 点分のデータセットでは $ N\ \leq\ 18 $ が成立する
- 別の $ 300 $ 点分のデータセットでは $ N\ \leq\ 50 $ が成立する
### Sample Explanation 1
\- 以下の図に示されるような $ 6 $ 通りです !\[51367cdb21c64bfb07113b300921d52c.png\](https://atcoder.jp/img/asaporo2/51367cdb21c64bfb07113b300921d52c.png)
### Sample Explanation 2
\- $ 10^{9}\ +\ 7 $ で割ったあまりを求めてください