20026 - 着色方案
时间限制 : 1 秒
内存限制 : 128 MB
有 n 个木块排成一行,从左到右依次编号为 1 至 n。
你有 k 种颜色的油漆,第 i 种颜色的油漆足够涂 c_i 个木块。
所有油漆刚好足够涂满所有木块,即 \sum_{i=1}^kc_i=n。
由于相邻两个木块涂相同色显得很难看,所以你希望统计任意两个相邻木块颜色不同的着色方案。
由于答案可能很大,请输出对 10^9+7 取模的结果。
输入
第一行,一个整数 k,表示颜色数量。
第二行 k 个整数 c_1,c_2,\dots,c_k,表示每种颜色能够涂木块的个数。
输出
一行一个整数,表示答案对 10^9+7 取模的结果。
样例
输入
3 1 2 3
输出
10
输入
5 2 2 2 2 2
输出
39480
输入
10 1 1 2 2 3 3 4 4 5 5
输出
85937576
提示
- 对于 50\% 的数据,1 \leq k \leq 5,1 \leq c_i \leq 3;
- 对于 100\% 的数据,1 \leq k \leq 15,1 \leq c_i \leq 5。