Coding is the closest thing we have to superpower !

4180 : 组合数学进阶-分特产
描述

超能侠出门旅游带回了许多土特产,他想知道,把这些特产分给 n 个同学,一共有多少种不同的分法?当然,超能侠不希望任何一个同学因为没有拿到特产而感到失落,所以每个同学都必须至少分得一个特产。 
例如,超能侠带来了 2 袋麻花和 1 袋包子,分给 AB 两位同学,那么共有 4 种不同的分配方法: 
A:麻花, B:麻花、包子 
A:麻花、麻花, B:包子 
A:包子, B:麻花、麻花 
A:麻花、包子, B:麻花 

输入

第一行是同学的数量 n 和特产的数量 m。 
第二行包含 m 个整数,表示每一种特产的数量。 
n, m 不超过 1000 ,每一种特产的数量不超过 1000。 

输出

输出一行,不同分配方案的总数。 
由于输出结果可能非常巨大,你只需要输出最终结果 
\bmod\ {10^9+7} 的数值就可以了。 

样例

输入

5 4
1 3 3 5

输出

384835
标签
语言:
主题: