Hãy xem xét một hệ thống tiền bao gồm \(n\) đồng xu. Mỗi đồng xu có một giá trị nguyên dương. Nhiệm vụ của bạn là tính số cách có thứ tự riêng biệt mà bạn có thể tạo ra một khoản tiền \(x\) bằng cách sử dụng các đồng tiền có sẵn.
Ví dụ, nếu tiền xu \(\{2,\ 3,\ 5\}\) và số tiền mong muốn là \(9\), có \(3\) cách:
- 2 + 2 + 5
- 3 + 3 + 3
- 2 + 2 + 2 + 3
INPUT:
- Dòng đầu tiên có hai số nguyên \(n\) và \(x\ (n\leq 100,\ x\leq 10^6)\): số xu và số tiền mong muốn.
- Dòng thứ hai có \(n\) số nguyên riêng biệt \(C_1,\ C_2,\ldots,\ C_n\ (C_i\leq 10^6)\): giá trị của mỗi đồng xu.
OUTPUT: In một số nguyên: số cách mod \(10^9 + 7\).
Ví dụ:
SAMPLE INPUT:
3 9
2 3 5
SAMPLE OUPUT:
3
Nguồn bài: tại đây