编程题
### 问题描述
云神有一个由 $n$ 个硬币组成的货币系统。每个硬币都有一个正整数值。他的任务是使用可用的硬币以不同的顺序产生金额 $x$ 的方法数量。
例如,如果硬币是 $\\{ 2, 3, 5 \\}$,并且期望的总和是 $9$,有 $3$ 种方式:$2+2+5$,$3+3+3$,$2+2+2+3$。
### 输入格式
第一行输入两个整数 $n$ 和 $x$,表示硬币的数量和期望的货币总额。
第二行有 $n$ 个不同的整数 $c_1, c_2, \dots, c_n$,表示每个硬币的价值。
### 输出格式
输出一个整数,表示产生期望总额的方式数量,取模 $10^9+7$。
### 样例输入
```
3 9
2 3 5
```
### 样例输出
```
3
```
### 评测数据规模
$1 \leq n \leq 100$,$1 \leq x \leq 10^6$,$1 \leq c_i \leq 10^6$。