다전제 승자는?
시간 제한0.5초메모리 제한512 MB
앨버트와 밥의 게임 결과 문자열 중 밥이 M승으로 시리즈를 끝내고 앨버트가 N승에 밥보다 먼저 도달하는 경우의 수를 10^9+7로 나눈 나머지로 구합니다.
문제
Albert와 Bob은 보드 게임을 즐겨 하는데, 주로 다전제를 하여 승자를 가린다.
X선승 다전제는 최대 번의 게임을 치러 먼저 번 이긴 사람이 승자가 되는 방식이다. 두 어린이가 하는 보드 게임에는 비기는 경우가 없다. 예를 들어 이면 다음과 같은 결과가 나올 수 있다. A는 Albert가 이긴 게임, B는 Bob이 이긴 게임을 뜻한다.
AAA: Albert가 3승으로 다전제에서 이긴다. 4, 5게임은 필요 없으므로 진행하지 않는다.BAAA,ABAA,AABA: Albert가 3승으로 이긴다. 5게임은 필요 없으므로 진행하지 않는다.BBAAA,BAABA,BABAA,ABBAA,ABABA,AABBA: Albert가 3승으로 이긴다.- 위의 10가지 결과 외에도 A와 B를 뒤집으면 Bob이 이기는 10가지 결과가 나온다.
두 사람이 다전제를 진행한 뒤 Bob이 다음과 같이 말했다. M선승 다전제의 최종 승자는 먼저 M게임을 이긴 Bob이다. 그러나 N선승 다전제였다면 Albert가 이겼을 것이다. 즉 Albert가 먼저 N승을 했지만, Bob이 먼저 M승을 하여 최종 승자가 되었다. 물론 이다.
예를 들어 , 이면 Albert가 1게임을 이기고 Bob이 나머지 두 게임을 이기는 ABB만 가능하다.
다른 예로 , 이면 다음 세 가지 결과가 가능하다.
AABBB: 2선승 다전제였다면 Albert가 2게임째에 이겼을 것이다. 하지만 3선승 다전제이므로 Bob이 최종 승자가 된다.ABABB: 2선승 다전제였다면 Albert가 3게임째에 이겼을 것이다. 하지만 3선승 다전제이므로 Bob이 최종 승자가 된다.BAABB: 2선승 다전제였다면 Albert가 3게임째에 이겼을 것이다. 하지만 3선승 다전제이므로 Bob이 최종 승자가 된다.
입력으로 과 이 주어졌을 때, Bob이 승을 하여 최종 승자가 되지만 Albert가 먼저 승을 하게 되는 다전제 결과가 몇 가지인지 구하라. 이 수가 매우 클 수 있으므로 로 나눈 나머지를 출력한다.
입력
첫 줄에 테스트 케이스의 수 가 주어진다.
각 테스트 케이스는 한 줄에 공백으로 구분된 두 정수 , 이 주어진다.
출력
각 테스트 케이스의 정답을 한 줄에 하나씩 출력한다.