#121. 24年初中组决赛T3-赛博拼接

24年初中组决赛T3-赛博拼接

题目描述

由于斩击太多的数字,小 TT 决定尝试修复和拼接其中一些破碎的数字。

现在有很多个数字,把它们凑在一起,凑成一条长度为 N N 的数字集。为了修理这些数字,大剑师小 T T 可以把两个相邻的数字进行 拼接 操作,即取两数之和新生成一个数字。如果数字集修复后,里面所有数字都不小于整数 A A 的话,那么这个数字集可以被拿来继续当成练习的道具。

T T 想知道,在经过零次或任意多次的 拼接 操作后,能形成多少组不同的数字集,可以拿来练习。

由于答案可能很大,你需要将答案对 109+7 10^9+7 进行取模。

输入格式

第一行输入两个正整数 N,AN,A ,以空格间隔。

第二行输入 NN 个整数 aia_i ,表示每个数字。

输出格式

输出一个整数表示答案(记得取余数)。

样例数据

6 5
1 1 4 5 1 4
4

样例解释:

可以将这些数字修复成[6,5,5],[11,5],[6,10],[16][6,5,5],[11,5],[6,10],[16], 共有这 4 4 种可用数字集。

10 6
1 8 3 1 9 1 7 4 5 20
60

数据范围

对于 10% 10\% 的数据, 1N,A,ai10 1 \le N,A,a_i \le 10

对于 10% 10\% 的数据, 1N,A,ai100 1 \le N,A,a_i \leq 100

对于 10% 10\% 的数据, 1N,A,ai500 1\le N,A,a_i \le 500

对于 20% 20\% 的数据, 1N,A,ai5000 1\le N,A,a_i \leq 5000

对于 10% 10\% 的数据, ai=Aa_i=A

对于 100% 100\% 的数据,$ 1 \leq A \leq N \leq 2 \times 10^5,1 \leq a_i \leq 10^9$。