SP26184 JC15F - Colorful Beads

题目描述

**彩色珠子** 今天是个多彩的日子!为什么呢?因为桌子上有许多彩色的珠子。Satria 想用这些珠子做一条项链,为了让项链更有价值,他使用一个神秘的秘密公式来排列珠子。而 Gunawan 对 Satria 的秘密公式非常好奇,于是他尝试用暴力枚举所有可能的珠子组合,希望能找到最优解。起初,当珠子数量不多时,他很容易找到了最优组合,但他始终无法推导出通用公式。他不断尝试和努力……永不放弃! 有一天,Tjandra 遇到了 Gunawan,并建议他不要继续暴力尝试,因为组合的数量实在太多了。Gunawan 半信半疑,于是请 Tjandra 给他做个证明。 Gunawan 说:“如果我有 $N$ 个珠子,可能有多少种组合?” Tjandra 回答:“应该是 $N!$ 种组合。” Gunawan 反驳道:“但这不完全对,因为我的珠子有很多颜色,如果交换相同颜色的珠子,价值不会变化。” Tjandra 说:“好的,那你详细告诉我珠子的情况。” Gunawan 解释道:“我的珠子有 $M$ 种不同的颜色,分别有 $K_1$ 个一号颜色的珠子,$K_2$ 个二号颜色的珠子……$K_M$ 个 M 号颜色的珠子。” Tjandra 回答:“那么组合数就是 $\frac{F(K_1 + K_2 + \dots + K_M)}{F(K_1) \cdot F(K_2) \cdot \dots \cdot F(K_M)}$ 其中 $F(N)$ 表示 $N$ 的阶乘。” (几分钟后) Gunawan 表示:“你的公式有误。我用 2 个绿色和 2 个蓝色珠子试了试,你的公式给出的结果是 $\frac{24}{2 \cdot 2} = 6$,但实际上只有 2 种组合。” Tjandra 自信满满地说:“我很擅长数学,我相信我的公式是对的。” Gunawan 反驳道:“我做了这两条项链:{1: {g, g, b, b}, 2: {g, b, g, b}} [g=绿色珠子, b=蓝色珠子],你能给我做出一个不同于这两条的项链吗?” Tjandra 回答:“当然,这很简单,这是第三条项链:{b, g, b, g}” 但 Gunawan 旋转这条项链后说:“看,你的项链和我的第二条项链相同:{b, g, b, g} -> {g, b, g, b}” Tjandra 说:“哦,我忘记了可以旋转项链。非常聪明的尝试,为什么不相信我说的组合数太多了,尽管算出来的和实际稍微少一点。” Gunawan 反驳道:“‘稍微少一些’?6 和 2 差这么多?” Tjandra 不甘示弱:“好吧,我可以告诉你确切的组合数,但公式太过复杂,而且我没带电脑,这里有电脑吗?” Gunawan 回答:“没有,我也没有。” 现在 Tjandra 用他的老手机打电话找你帮忙,因为他知道你正坐在电脑前。你能帮帮他们吗?

输入格式

第一行为一个整数 $K$,表示不同颜色珠子的种类数。 第二行为 $K$ 个整数,分别是第 $i$ 种颜色的珠子数量 $K_i$。

输出格式

输出一个整数,表示不同颜色组合的数量。由于 Tjandra 预测这个数会非常大,请输出取模 $10^9 + 7$ 的结果。

说明/提示

$1 \leq K \leq 100$ $1 \leq K_i \leq 10^5$ **样例 1** 输入 ``` 1 1000 ``` 输出 `1` **样例 2** 输入 ``` 2 2 2 ``` 输出 `2` **样例 3** 输入 ``` 3 1 1 1 ``` 输出 `2` **样例 4** 输入 ``` 4 2 3 4 5 ``` 输出 `180180` **样例 5** 输入 ``` 5 1 2 3 4 5 ``` 输出 `2522520` **样例 3 说明** 在样例 3 中,有 3 种不同颜色的珠子,每种颜色���有 1 个珠子。 假设这 3 种颜色分别是红色、绿色和蓝色,这里只有 2 种可能的项链。所有其他的珠子组合都可以通过旋转变为这两种项链中的一种。 需要注意的是,如果我们能翻转项链,那么两条项链算作相同。但在本问题中,我们假设项链的正面不同于背面,因此上面两种项链被视为不同的。 **本翻译由 AI 自动生成**