Acka

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

보통6조합론동적 계획법수학아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

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

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

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

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

입력

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

1S501 \le S \le 50, 1D,K,HS1 \le D, K, H \le S

출력

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