뱀 두 마리 배치하기
시간 제한2초메모리 제한512 MB
n×m 격자에 너비가 1인 두 직사각형(키키 길이 k, 수수 길이 s)을 서로 겹치지 않게 놓는 순서 있는 배치의 수를 1e9+7로 나눈 나머지를 구한다. 머리와 꼬리 방향도 구분한다.
문제
두 마리의 뱀 Kiki와 Susu는 직사각형 격자 위에서 노는 것을 좋아한다. 게임이 진행되는 동안에는 규칙을 신경 쓰지 않고 마구 뒤섞이지만, 게임을 시작하는 순간의 배치는 다음 규칙을 따른다.
- 각 뱀은 한쪽 변의 길이가 1인 직사각형 하나로 나타낸다. Kiki는 칸 개, Susu는 칸 개를 차지한다.
- 각 뱀은 수평 방향 또는 수직 방향으로 놓인다.
- 두 뱀 모두 격자 안에 완전히 들어가야 한다.
- 두 뱀이 같이 차지하는 칸이 있으면 안 된다.
아래 그림에서 위쪽 두 가지는 올바른 배치, 아래쪽 두 가지는 잘못된 배치다. 격자는 이고 두 뱀의 길이는 모두 3이다.

머리가 어느 쪽 끝에 있는지도 배치의 일부로 센다. 머리가 이고 꼬리가 인 배치와, 머리가 이고 꼬리가 인 배치는 서로 다른 배치다. 길이가 1인 뱀은 머리와 꼬리가 같은 칸이므로 방향을 구분하지 않고, 어느 칸에 놓였는지로만 구분한다. Kiki와 Susu는 서로 다른 뱀이라서 두 뱀의 자리를 맞바꾼 배치도 서로 다른 배치로 센다.
격자의 크기 , 과 Kiki의 길이 , Susu의 길이 가 주어질 때, 게임을 시작할 수 있는 배치의 수를 구하자.
입력
첫째 줄에 테스트 케이스의 개수 가 주어진다. ()
이어서 각 테스트 케이스가 한 줄씩 주어진다. 한 줄에는 격자의 크기 , 과 Kiki의 길이 , Susu의 길이 가 공백으로 구분되어 주어진다. (, )
출력
각 테스트 케이스마다 Case c: x 형식으로 한 줄에 출력한다. 는 1부터 매기는 테스트 케이스 번호이고, 는 배치의 수를 ()로 나눈 나머지다.