Voltar

uCoder | 1150 | Nível: 5 | Tempo Limite: 10

Baile de Formatura

Adaptado por Erich Rodrigues


É final de ano, e finalmente Rafael está se formando em seu curso de Computação. O pessoal da sua sala resolveu comemorar a formatura organizando um baile, onde haveria música ao vivo, comida e bebida grátis. Como todo baile, o momento mais esperado é aquele em que todos começam a dançar em pares.
   
Os pares serão formados entre um garoto e uma garota, e como os alunos da sala de Rafael são muito tímidos, decidiram definir com antecedência quais seriam os pares. Há apenas um problema: há mais garotos do que garotas na sala. Isso implica que, para que todos consigam dançar ao menos uma vez, uma ou mais garotas terão que dançar com mais de um garoto.

Rafael pediu sua ajuda: de quantas maneiras os pares podem ser formados, de tal forma que todos os garotos dancem exatamente uma vez, e que todas as garotas dancem ao menos uma vez?


Entrada

Haverá diversos casos de teste. Cada caso de teste consiste de dois inteiros, B e G (1 ≤ G < B ≤ 10³), indicando o número de garotos e garotas na sala, respectivamente.

O último caso de teste é indicado quando B = G = 0.


Saída

Para cada caso de teste imprima uma linha, contendo um inteiro, indicando quantas maneiras é possível que os pares sejam formados de tal modo que todos os garotos dancem exatamente uma vez, e que todas as garotas dancem ao menos uma vez.

Como o resultado pode ser muito alto, imprima o resultado com resto de divisão em 1000000007 (10⁹+7).


Exemplo de Entrada Exemplo de Saída

2 1
3 2
4 2
4 3
0 0

1
6
14
36