4538 - 奇怪的分组

通过次数

0

提交次数

0

时间限制 : 1 秒
内存限制 : 128 MB

终于解出了 dm 同学的难题,dm 同学同意帮 v 神联络。可 dm 同学有个习惯,就是联络同学的时候喜欢分组联络,而且分组的方式也很特别,要求第 i 组的的人数必须大于他指定的个数 C_i。在 dm 同学联络的时候,v 神在想,按照 dm 同学的规则一共可以有多少种方案呢?他想啊想,终于……没想出来。于是他又想到了聪明的你,你能帮 v 神算出按照 dm 同学的规则有多少种分组方案吗?

输入

第一行两个整数 NM,后面有 M 行,每行一个整数,表示 C_i

输出

仅有一行,一个整数,方案数模 10^9+7 的值。

样例

输入

10 3
1
2
3

输出

3

提示

方案有三种,每组的个数分别是 (3,3,4)(2,4,4)(2,3,5)

数据范围约定

对于 30\% 的数据,N,M\le 10

对于 60\% 的数据,N,M\le 1000

对于 100\% 的数据,1\le N ,M\le 10^61\le C_i\le 1000

数据保证至少有一个方案。 i

来源

luogu