Задачи
Подготовка соревнования
Подготовка соревнования
Однажды Арти попросили подготовить несколько соревнований по программированию. Поскольку он очень ленив, то он решил немного схитрить. Арти подготовил $n$ задач, а для $i$-й задачи подготовил $s_i$ условий. Теперь он хочет собрать конкурсы из этих заданий по следующим правилам:
\begin{itemize}
\item каждую задачу можно использовать в соревновании только один раз;
\item соревнование должно содержать от $a$ до $b$ задач;
\item два соревнования считаются разными, если имеется хотя бы одна задача, которая присутствует в одном соревновании, а не во втором, или если имеется хотя бы одна задача с разными формулировками в этих соревнованиях;
\item важен только набор задач, а не их порядок.
\end{itemize}
Подсчитайте, сколько разных соревнований может подготовить Арти. Так как это число может быть очень большим, выведите его по модулю $10^9+7$.
\InputFile
Первая строка содержит $n$, $a$, $b~(1 \le a \le b \le n \le 10000$).
Вторая строка содержит $n$ целых чисел $s_i$ ($1 \le s_i \le 100$).
\OutputFile
Выведите одну строку --- количество различных соревнований, которые Арти может подготовить по модулю $10^9 + 7$.
Входные данные #1
2 1 2 3 4
Выходные данные #1
19