만드는 중입니다

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

인공 폴리네시아어 (라지)

면접 대비

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

요약
자음 뒤에 항상 모음이 오도록 C개 자음과 V개 모음으로 길이 L인 단어를 세고 1e9+7로 나눈 나머지를 구합니다.
난이도

쉬움10점 중 3점

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

문제

우르술라는 인공어를 만드는 일을 좋아한다. 오늘은 실제 폴리네시아 언어에서 영감을 받은 언어를 만들기 시작했다. 지금까지 정한 규칙은 두 가지다.

  • 모든 단어는 글자로만 이루어진다. 글자는 자음이거나 모음이다.
  • 단어 안의 자음 뒤에는 반드시 모음이 바로 와야 한다.

예를 들어 모음이 a 하나뿐이고 자음이 h 하나뿐인 언어에서 a, aa, aha, aaha, haha는 올바른 단어지만 h, ahh, ahah, ahha는 올바른 단어가 아니다. 이 규칙은 자음 뒤에 자음이 오는 것을 막고, 단어가 자음으로 끝나는 것도 막는다.

우르술라의 새 언어에 서로 다른 자음이 CC개, 서로 다른 모음이 VV개 있다. 길이가 LL인 올바른 단어는 모두 몇 개인가? 답이 매우 커질 수 있으므로 소수 109+710^9+7로 나눈 나머지를 구한다.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다. 이어지는 TT개의 줄에 각각 세 정수 CC, VV, LL이 공백으로 구분되어 주어진다.

제한

  • 1≤T≤1001 \le T \le 100
  • 1≤C≤501 \le C \le 50
  • 1≤V≤501 \le V \le 50
  • 1≤L≤5001 \le L \le 500

출력

각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. xx는 1부터 시작하는 테스트 케이스 번호이고, yy는 길이가 LL인 올바른 단어의 개수를 109+710^9+7로 나눈 나머지이다.

힌트

첫 번째 예제의 첫 테스트 케이스에서 모음이 a 하나, 자음이 h 하나라고 하자. 길이가 4인 올바른 단어는 aaaa, aaha, ahaa, haaa, haha의 다섯 개다.

같은 예제의 둘째 테스트 케이스에서 모음이 a와 e이고 자음이 h 하나라고 하자. 길이가 2인 올바른 단어는 aa, ae, ea, ee, ha, he의 여섯 개다.

예제3

  1. 예제 1

    입력
    2
    1 1 4
    1 2 2
    
    예상 출력
    Case #1: 5
    Case #2: 6
    
  2. 예제 2

    입력
    4
    1 1 1
    50 50 1
    1 50 1
    50 1 1
    
    예상 출력
    Case #1: 1
    Case #2: 50
    Case #3: 50
    Case #4: 1
    
  3. 예제 3

    입력
    4
    1 1 2
    50 1 2
    1 50 2
    50 50 2
    
    예상 출력
    Case #1: 2
    Case #2: 51
    Case #3: 2550
    Case #4: 5000