소 프리스비 팀
면접 대비시간 제한1초메모리 제한128 MB
N마리 소의 평가 점수 합이 F로 나누어떨어지는 공집합이 아닌 부분집합의 개수를 100000000으로 나눈 나머지를 구한다.
문제
농부 돈이 프리스비를 시작하는 모습을 본 농부 존(FJ)도 함께 즐기고 싶어졌습니다. 존은 번부터 번까지 번호가 매겨진 자신의 소 마리 () 중에서 프리스비 팀을 만들려고 합니다. 각 소 에게는 프리스비 실력을 나타내는 능력치 () 가 있습니다. FJ는 소 한 마리 이상을 골라 팀을 구성할 수 있습니다.
그런데 FJ는 팀을 매우 까다롭게 고르기 때문에 조건을 하나 더 두었습니다. 그가 가장 좋아하는 숫자가 () 이므로, 팀에 속한 소들의 능력치 합이 로 정확히 나누어떨어질 때만 그 팀을 받아들입니다.
존이 만들 수 있는 서로 다른 팀의 개수를 구하세요. 서로 다른 두 소가 같은 능력치를 가지더라도, 구성이 다르면 다른 팀으로 셉니다. 이 값이 매우 커질 수 있으므로, 답을 으로 나눈 나머지를 출력하세요.
입력
- 첫째 줄: 공백으로 구분된 두 정수 과
- 둘째 줄부터 번째 줄까지: 번째 줄에는 정수 가 하나 주어집니다
출력
- 첫째 줄: 존이 고를 수 있는 팀의 개수를 으로 나눈 나머지를 나타내는 정수 하나
힌트
위 예시에서 존은 과 두 개의 중 하나를 묶거나 (), 두 개의 와 을 함께 묶을 수 있습니다 (). 가 두 마리이므로 조합은 서로 다른 두 팀으로 셉니다.