83882 - 樱花,还有你

通过次数

2

提交次数

5

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

从左到右有k颗樱花树,其中第i棵樱花树有s_i,每棵树可以任意采摘不超过s_i朵樱花。你需要按照樱花树的顺序恰好采摘n朵樱花。

当你采到了n朵樱花后,可以继续移动到下一颗树,也可以立刻结束采摘,都会被视为不同的采摘方案。

求有多少种不同的采摘方案。

输入

第一行两个正整数 n,k,表示要收集 n 朵樱花,而前方还有 k 棵樱花树。

接下来一行 k 个正整数 s_1,s_2,...,s_k,其中 s_i 表示最多在第 i 棵樱花树下收集到 s_i 朵樱花。

输出

一行一个整数,表示恰好收集到 n 朵樱花的方案数。

由于答案可能太大,请输出答案对 10086001 取模后的值。

特殊地,如果收集不到 n 朵樱花,请输出一个字符串 impossible

样例

输入

3 4
1 1 1 1

输出

5

输入

10 9
9 6 8 7 9 6 5 4 3

输出

68345

输入

10 5
2 2 2 2 1

输出

impossible

提示

样例解释 #1

我们以下列方式表示一种方案:$(a_1,a2,\cdots,a{len}),其中 \sum_{i=1}^{len} a_i =nlen 表示在第 len 棵樱花树下收集完樱花后就交差了,a_i 表示在第 i 棵树下收集了 a_i$ 朵樱花。

那么有下列 5 种方案:(1,1,1)(1,1,1,0)(0,1,1,1)(1,0,1,1)(1,1,0,1)

样例解释 #3

最多能收集到 9 朵樱花,所以不能收集到 10 朵樱花,输出 impossible

对于 100\% 的数据,1 \leq n,k \leq 5\times 10^30 \leq s_i \leq n

来源

luogu