Problem10982--序列

10982: 序列

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 512 MiB

Description

有长度为 $N$ 的序列 $A$。
现在要选择一个长度为 $k$ 的序列 $B$,满足:
$\sum_{i=1}^{k} A_{B_i}=s$
请问,有多少种不同的 $C=\{A_{B_i}\}$ 序列。

Input

第一行,给出了 $N$ 和 $s$。
第二行,$N$ 个整数,表示序列 $A$。整数间用空格隔开。

Output

一个整数,表示有多少种不同的 $C$,用 1 000 000 007 取模。

Constraints

$1 \leq N \leq 100,000$
$1 \leq s \leq 10^{18}$
$1 \leq A_i \leq 100$

Sample 1 Input

2 5
1 2

Sample 1 Output

8
C 的可能值有{1,2,2},{2,1,2},{2,2,1},{1,1,1,2},{1,1,2,1},{1,2,1,1},{2,1,1,1},{1,1,1,1,1},共计 8 种。

EDITORIAL

Source/Category

矩阵快速幂