#303. 方格涂色

方格涂色

说明

本题不再额外提供样例文件。

题目描述

NN 个方格排成一排。

KK 种颜色的画笔,第 ii 种画笔恰好能涂 aia_i 个方格,且所有画笔恰好能涂完所有方格,即 i=1Kai=N\sum_{i=1}^K a_i=N

现在让你用这些画笔给方格涂色,要求相邻的方格不能涂相同的颜色。

问:你有多少种不同的涂色方案?

两种涂色方案不同,当前仅当至少存在一个格子在两种涂法中所涂的颜色不同。

答案可能很大,你需要将其对 (109+7)(10^9+7) 取模后输出。

输入格式

第一行,一个整数 KK

第二行 KK 个整数 a1,a2,,aka_1,a_2,\dots,a_k

输出格式

一个整数,表示不同涂色方案数 mod (109+7)(10^9+7)

样例输入 #1

3
1 2 3

样例输出 #1

10

样例输入 #2

10
1 2 3 4 5 2 1 3 1 4

样例输出 #2

701327321

提示

  • 对于 50%50\% 的数据,1K51 \leq K \leq 51ai31 \leq a_i \leq 3
  • 对于 100%100\% 的数据,1K151 \leq K \leq 151ai51 \leq a_i \leq 5