만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

SubsetCheating

면접 대비

시간 제한1초메모리 제한1024 MB

요약
각 문제에서 작은 삼각형의 점수가 작은 사각형의 점수를 넘지 않고 두 사람의 총점이 각각 A, B인 배점의 수를 10^9+7로 나눈 나머지로 구합니다.
난이도

보통10점 중 5점

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

문제

리틀 스퀘어와 리틀 트라이앵글이 수학 시험을 봤다. 리틀 트라이앵글은 시험 공부를 하지 않았지만, 친한 친구 리틀 스퀘어가 공부를 잘했기 때문에 시험 중에 리틀 스퀘어 풀이의 일부를 베낄 수 있었다.

시험 문제는 총 NN개다. 모든 문제에서 리틀 트라이앵글의 점수는 리틀 스퀘어의 점수를 넘지 않는다. 모든 점수는 0 이상의 정수다. 어느 문제의 정확한 점수도 알 수 없지만, 리틀 스퀘어의 총점은 AA점, 리틀 트라이앵글의 총점은 BB점이라는 것은 안다.

NN, AA, BB가 주어졌을 때, 두 사람이 이 시험에서 받을 수 있는 점수 배정 방법의 수를 109+710^9 + 7로 나눈 나머지를 구하라.

입력

표준 입력의 첫 줄에 위에서 설명한 의미의 0 이상의 정수 NN, AA, BB가 공백 하나로 구분되어 주어진다.

출력

표준 출력에 리틀 스퀘어와 리틀 트라이앵글이 받을 수 있는 점수 배정 방법의 수를 109+710^9 + 7로 나눈 나머지 정수 하나를 출력한다.

제한

  • 1≤N≤1061 ≤ N ≤ 10^6
  • 0≤A,B≤1060 ≤ A, B ≤ 10^6
  • 두 점수 배정은 NN개 문제 중 하나라도 리틀 스퀘어 또는 리틀 트라이앵글의 점수가 다르면 서로 다른 것으로 본다.

힌트

첫 번째 예시에서 시험 문제는 N=2N = 2개다. 리틀 스퀘어의 총점은 A=3A = 3점, 리틀 트라이앵글의 총점은 B=2B = 2점이다. 첫 번째 문제를 P1P1, 두 번째 문제를 P2P2라고 하자. 서로 다른 점수 배정은 6가지다.

  • 리틀 스퀘어: P1 0점, P2 3점 / 리틀 트라이앵글: P1 0점, P2 2점
  • 리틀 스퀘어: P1 1점, P2 2점 / 리틀 트라이앵글: P1 0점, P2 2점
  • 리틀 스퀘어: P1 1점, P2 2점 / 리틀 트라이앵글: P1 1점, P2 1점
  • 리틀 스퀘어: P1 2점, P2 1점 / 리틀 트라이앵글: P1 2점, P2 0점
  • 리틀 스퀘어: P1 2점, P2 1점 / 리틀 트라이앵글: P1 1점, P2 1점
  • 리틀 스퀘어: P1 3점, P2 0점 / 리틀 트라이앵글: P1 2점, P2 0점

예제4

  1. 예제 1

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

    입력
    2 4 6
    
    예상 출력
    0
    
  3. 예제 3

    입력
    36 43 27
    
    예상 출력
    207434534
    
  4. 예제 4

    입력
    100001 999999 888888
    
    예상 출력
    991579070