SubsetCheating
면접 대비시간 제한1초메모리 제한1024 MB
각 문제에서 작은 삼각형의 점수가 작은 사각형의 점수를 넘지 않고 두 사람의 총점이 각각 A, B인 배점의 수를 10^9+7로 나눈 나머지로 구합니다.
문제
리틀 스퀘어와 리틀 트라이앵글이 수학 시험을 봤다. 리틀 트라이앵글은 시험 공부를 하지 않았지만, 친한 친구 리틀 스퀘어가 공부를 잘했기 때문에 시험 중에 리틀 스퀘어 풀이의 일부를 베낄 수 있었다.
시험 문제는 총 개다. 모든 문제에서 리틀 트라이앵글의 점수는 리틀 스퀘어의 점수를 넘지 않는다. 모든 점수는 0 이상의 정수다. 어느 문제의 정확한 점수도 알 수 없지만, 리틀 스퀘어의 총점은 점, 리틀 트라이앵글의 총점은 점이라는 것은 안다.
, , 가 주어졌을 때, 두 사람이 이 시험에서 받을 수 있는 점수 배정 방법의 수를 로 나눈 나머지를 구하라.
입력
표준 입력의 첫 줄에 위에서 설명한 의미의 0 이상의 정수 , , 가 공백 하나로 구분되어 주어진다.
출력
표준 출력에 리틀 스퀘어와 리틀 트라이앵글이 받을 수 있는 점수 배정 방법의 수를 로 나눈 나머지 정수 하나를 출력한다.
제한
- 두 점수 배정은 개 문제 중 하나라도 리틀 스퀘어 또는 리틀 트라이앵글의 점수가 다르면 서로 다른 것으로 본다.
힌트
첫 번째 예시에서 시험 문제는 개다. 리틀 스퀘어의 총점은 점, 리틀 트라이앵글의 총점은 점이다. 첫 번째 문제를 , 두 번째 문제를 라고 하자. 서로 다른 점수 배정은 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점