小 X 最近想要创业。
他有一个 $n$ 个人的团队,为了能够创业成功,小 X 决定将这 $n$ 个人分成若干组,分工合作。
但是,每个人都不希望自己所在的分组中人数过多,因此每个人都有一个所在小组人数的上限。
请你求出不同的分组方案的个数,答案对 $P$ 取模。
两种分组方案不同,当且仅当存在两个人,他们在第一种方案中处于同一组,在第二种方案中处于不同组。
第一行两个正整数 $n,P$。
第二行 $n$ 个整数 $a_{1 \dots n}$,其中 $a_i$ 表示有 $a_i$ 个人的所在小组人数上限为 $i$。
一行一个数,表示答案对 $P$ 取模后的值。
3 998244353 0 1 2
4
3 1000000007 0 0 3
5
见下发文件
3 998244353 1 1 1
2
【样例 $3$】
见下发文件。大样例
【数据范围与提示】
对于 $100\%$ 的数据,$1 \le n \le 2000$,$0 \le a_i \le n$,$\sum_{i=1}^{n} a_i = n$,$P = {10^9+7,998244353}$。
具体数据范围与其他约定如下: