Надіслати розв'язок
Бали:
16,00 (partial)
Time limit:
1.0s
Memory limit:
256M
Input:
stdin
Output:
stdout
Problem type
Розглянемо грошову систему, що складається з ~n~ монет. Кожна монета має вартість - додатне ціле число.
Ваше завдання полягає в тому, щоб обчислити кількість різних способів отримання грошової суми ~x~, використовуючи доступні монети.
Наприклад, якщо монети {2,3,5}, а бажана сума дорівнює 9, є 8 способів:
- 2+2+5
- 2+5+2
- 5+2+2
- 3+3+3
- 2+2+2+3
- 2+2+3+2
- 2+3+2+2
- 3+2+2+2
Обмеження
- ~1 \le n \le 100~
- ~1 \le x \le 10^6~
- ~1 \le c_i \le 10^6~
Формат вхідних даних
У першому рядку вводу є два цілих числа ~n~ і ~x~: кількість монет і бажана сума грошей.
У другому рядку є ~n~ різних цілих чисел ~c_1,c_2,\dots,c_n~: вартість кожної монети.
Формат вихідних даних
Виведіть одне ціле число: кількість шляхів за модулем ~10^9+7~.
Приклад вхідних даних
3 9
2 3 5
Приклад вихідних даних
8
Коментарі