아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Acka

시간 제한2초메모리 제한512 MB

요약
S개의 곡 각각을 세 명 중 최소 한 명에게 배정하되, 세 사람이 부른 곡 수가 각각 D, K, H가 되는 경우의 수를 센다.
난이도

보통10점 중 6점

유형
조합론, 동적 계획법, 수학
정답자
아직 제출이 없습니다

문제

알고리즘 캠프에 강사로 참여한 dotorya, kesakiyo, hongjun7은 301호에서 의기투합해 프로젝트 아이돌 그룹 Acka를 결성했다.

Acka의 데뷔 앨범에는 곡이 모두 SS개 실린다. 각 곡은 세 사람 중 적어도 한 명이 불러야 한다. 즉 한 곡을 두 사람이 함께 불러도 되고, 세 사람이 모두 불러도 된다.

세 사람이 녹음해야 하는 곡의 수가 주어질 때, 앨범을 만드는 방법의 수를 구하는 프로그램을 작성하시오.

두 앨범 A와 B에서 부른 사람이 서로 다른 곡이 하나라도 있으면, 두 앨범은 서로 다른 앨범이다.

입력

첫째 줄에 정수 네 개 SS, DD, KK, HH가 공백으로 구분되어 주어진다. SS는 앨범에 실리는 곡의 수이고, DD, KK, HH는 각각 dotorya, kesakiyo, hongjun7이 불러야 하는 곡의 수다.

1≤S≤501 \le S \le 50, 1≤D,K,H≤S1 \le D, K, H \le S

출력

첫째 줄에 앨범을 만드는 방법의 수를 1,000,000,007로 나눈 나머지를 출력한다.

예제5

  1. 예제 1

    입력
    3 1 1 1
    
    예상 출력
    6
    
  2. 예제 2

    입력
    3 3 1 1
    
    예상 출력
    9
    
  3. 예제 3

    입력
    50 10 10 10
    
    예상 출력
    0
    
  4. 예제 4

    입력
    18 12 8 9
    
    예상 출력
    81451692
    
  5. 예제 5

    입력
    50 25 25 25
    
    예상 출력
    198591037