선우의 셋리스트
면접 대비시간 제한1초메모리 제한512 MB
곡을 여러 번 골라 재생 시간의 합이 정확히 N분이 되는 곡 순서의 개수를 10^9+7로 나눈 나머지로 구합니다.
문제
선우는 아주대학교의 3년 만의 대동제에서 공연으로 노래를 열창해 아주대학교 학생들의 마음을 사로잡고 싶다. 선우는 총 ()분 길이의 공연을 기획하고 있지만, 어떤 노래를 어떤 순서로, 몇 번씩 부를지는 아직 정하지 못했다.
예를 들어, 다음과 같은 후보곡이 있다고 하자. 1. <아주바캉스>, 아주 강 같은 평화, 분. 2. <졸업할 수 있을까>, 컴공소년, 분. 3. <벌써 사년>, 브라운 관즈, 분. 4. <응급실>, 낫 이지, 분. 5. <이미 아픈 성적>, 요다, 분.
이 노래들로 10분 공연을 구성한다면 [3, 1, 3, 4], 즉 3번, 1번, 3번, 4번 곡 순서로 공연을 구성할 수 있다. 여기서 알 수 있듯이, 선우는 중간에 절대 쉬지 않는다! 같은 노래를 여러 번 부를 수도 있고, 어떤 후보곡은 쓰이지 않을 수도 있다. 이렇게 공연에서 부르는 노래를 순서대로 나열한 것을 셋리스트라고 한다.
후보곡의 수와 각 노래의 재생 시간이 주어질 때, 선우를 도와 정확히 분의 공연이 되는 셋리스트의 경우의 수를 구하라.
입력
첫 번째 줄에 공연 시간 ()과 후보곡의 수 ()이 공백으로 구분되어 주어진다. 두 번째 줄부터 번째 줄까지 각 줄에는 노래의 재생 시간 (, )가 주어진다.
출력
가능한 셋리스트의 경우의 수를 ()로 나눈 나머지를 출력한다. 셋리스트를 구성할 수 없다면 정답은 이다.