시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 512 MB | 158 | 73 | 50 | 50.000% |
선우는 아주대학교의 $3$년 만의 대동제를 맞아 공연으로 노래를 열창해 아주대학교의 여심을 홀리고 싶다. 선우는 총 $N$($1\leq N \leq 10^{18}$)분의 공연을 기획하고 있는데, 어떤 노래를 어느 순서로 몇 번이나 부를지 정하지 못하고 있다.
예를 들어, 다음과 같은 후보곡들이 있다고 하자.
선우가 이 노래들로 $10$분의 공연을 구성한다면 [3번, 1번, 3번, 4번]와 같은 식으로 공연을 구성할 수 있다. 여기서 알 수 있듯이, 선우는 중간에 절대 쉬지 않는다! 또한 같은 노래를 여러 번 부를 수도, 어떤 후보곡은 쓰이지 않을 수도 있다. 이렇게 공연을 하는 데에 부르는 노래의 순서를 셋리스트라고 한다.
선우가 부를 수 있는 후보곡의 수와, 각 노래의 재생 시간이 주어질 때, 선우를 도와 정확히 $N$분의 공연을 할 수 있는 셋리스트의 경우의 수를 알려주자.
첫 번째 줄에 선우가 공연을 기획한 시간 $N$($1 ≤ N ≤ 10^{18}$)과 선우가 부를 수 있는 후보곡의 수 $M$($2 \leq M \leq 100\,000$)이 공백으로 구분되어 주어진다.
두 번째 줄부터 ($M+1$)번째 줄까지 각 줄에는 노래의 재생시간 $t_i$($1 \leq i \leq M$, $ 1 \leq t_{i} \leq 5$)가 주어진다.
첫 번째 줄에 선우가 공연을 위해 준비해야 하는 가능한 셋리스트의 경우의 수를 $1\,000\,000\,007$($=10^{9}+7$)로 나눈 나머지를 출력하시오.
셋리스트를 구성할 수 없다면 정답은 $0$이다.
25 5 5 5 5 5 5
3125
모든 노래의 길이가 같으므로 경우의 수는 $5^5$와 같다.
10 6 2 2 2 3 4 4
555