꽃 장식하기
시간 제한2초메모리 제한512 MB
n가지 종류에서 종류별 한도 f_i를 지키며 정확히 s송이를 고르는 경우의 수를 1e9+7로 나눈 나머지로 구한다. n은 18 이하이고 s는 1e14까지 커질 수 있다.
문제
성관이는 화단에 꽃을 심으려고 한다. 심을 꽃은 이미 종류를 준비해 두었고, 번째 종류의 꽃은 송이 있다. 같은 종류의 꽃은 서로 구분할 수 없다.
성관이는 준비한 꽃 중에서 정확히 송이를 골라 화단에 심으려고 한다. 각 종류에서 고른 송이 수가 모두 같으면 같은 방법으로 센다. 꽃을 고르는 방법의 수가 매우 클 수 있으므로 로 나눈 나머지를 구한다.
꽃을 고르는 방법의 수를 계산하는 프로그램을 작성하시오.
입력
첫째 줄에 과 가 주어진다. (, )
둘째 줄에 개의 정수 이 주어진다. ()
출력
꽃을 고르는 방법의 수를 로 나눈 나머지를 한 줄에 출력한다.
힌트
아래에서 괄호 안의 수는 각 종류에서 고른 송이 수다.
첫 번째 예제에서 고르는 방법은 와 의 2가지다.
두 번째 예제에서 고르는 방법은 의 1가지다.
세 번째 예제에서 고르는 방법은 , , 의 3가지다.