一天,msc在家里找到了一个n×m的棋盘。
这个棋盘十分奇特,每个格子最多放一个棋子,但是你并不能看见具体的棋子都放在了哪些地方,但是有一个显示屏可以显示每一行每一列有多少棋子。
然而遗憾的是,由于棋盘已经放了很久,现在显示每一行有多少棋子的部分已经坏掉了,所以msc只能知道现在的棋盘上面每一列有多少棋子。
由于msc是一个有着强烈求知欲的女生,所以她希望知道显示屏坏掉的部分有多少种不同的可能的显示情况。
两种显示情况不同,当且仅当存在至少一行在两种情况中显示的数值是不同的。
msc是解决不了这么复杂的问题的,所以她告诉了你n,m以及b[1..m]表示每一列的棋子个数,请你帮她求出可能的方案数,由于答案可能很大,请将答案对1,000,000,007取模后再输出。
第一行两个整数n和m,分别表示棋盘的行数和棋盘的列数。
第二行m个整数b[1..m],第i个数表示棋盘中第i列上的棋子个数。
一行一个整数表示答案。
1≤n,m≤50
0≤b[i]≤n