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

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

야구 관람

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

요약
A번의 X 승리, B번의 Y 승리, C번의 무승부로 이루어진 A+B+C경기에서 X의 총 득점이 SX, Y의 총 득점이 SY가 되는 경기 순서쌍의 수를 1,000,000,007로 나눈 나머지를 구한다.
난이도

어려움10점 중 9점

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

문제

얼마 전, 당신의 경쟁 프로그래밍 동료인 O씨는 야구를 보러 갔다. 관람한 경기는 팀 X와 팀 Y의 총 4경기 대결이었는데, 일방적인 양상으로 흘러가 모든 경기에서 팀 X가 승리했다. 게다가 4경기 전체에서 X의 총 득점은 33점이었던 반면, Y의 총 득점은 고작 4점이었다.

너무나 일방적인 내용이라 경기 내용에 흥미를 잃은 O씨는 경기를 보는 동안에도 경쟁 프로그래밍 문제 아이디어를 떠올리고 있었다. 그 덕분에 O씨는 다음과 같은 문제를 생각해냈다.

야구팀 X와 Y가 대결해서 X가 승리한 경기 수, Y가 승리한 경기 수, 무승부 경기 수가 각각 A, B, C경기였다고 하자. 또한 전체 A+B+C경기에서 X, Y의 총 득점은 각각 SX점, SY점이었다고 하자. 득점은 모두 0 이상의 정수이다. X와 Y가 총 A+B+C경기 대결했을 때, 전체 경기의 결과로 이 조건을 만족하는 각 경기의 점수 나열은 몇 가지나 있을까?

여기서 어떤 경기에서 승리하는 조건은 그 경기에서의 득점이 상대 팀의 득점보다 많은 것이고, 같으면 무승부가 된다.

또한 각 경기의 점수 나열을 구할 때, 대결한 전체 경기의 결과를 비교했을 때 X와 Y의 점수 조합이 같더라도 그 순서가 다르면 구별해야 한다. 예를 들어, X와 Y가 2경기 대결한 결과 둘 다 1승씩 하고 무승부가 없으며 X와 Y의 총 득점이 모두 1점씩이었다고 하자. 이 경우 각 경기에서의 X, Y의 득점을 (X의 득점) - (Y의 득점)이라는 표기로 나타내고 총 2경기의 결과를 나열하면, 다음 2가지가 주어진 조건을 만족한다.

  • 1 - 0, 0 - 1
  • 0 - 1, 1 - 0

경기의 순서를 구별해서 세므로 이들은 구별된다.

당신에게는 이 답을 구하는 프로그램을 만들어 달라고 부탁한다. 다만 구하는 수는 매우 커질 수 있으므로, 구하는 수를 1,000,000,007로 나눈 나머지를 답하도록 해 달라고 한다.

입력

입력은 여러 데이터 세트로 이루어진다. 각 데이터 세트는 1줄로 되어 있고, 다음 형식으로 나타낸다.

A B C SX SY

여기서 A는 팀 X의 승리 수, B는 팀 Y의 승리 수, C는 무승부 경기 수, SX는 팀 X의 총 득점, SY는 팀 Y의 총 득점을 나타낸다. A, B, C, SX, SY는 모두 0 이상 1,000,000 이하의 정수이고, 0 < A+B+C를 만족한다.

입력의 끝은 5개의 0으로 이루어진 줄로 나타낸다.

출력

각 데이터 세트에 대해 주어진 조건을 만족하는 경우의 수를 1,000,000,007로 나눈 나머지만으로 이루어진 줄을 1줄에 출력하라.

예제1

  1. 예제 1

    입력
    1 1 0 1 1
    0 0 2 3 2
    4 0 0 33 4
    5 4 2 20 25
    4726 87361 2742 23497 162843
    328324 420923 12782 834286 538297
    0 0 0 0 0
    
    예상 출력
    2
    0
    114660
    512095631
    673703234
    166259450