F. Primeiras chamadas
Há participantes em uma fila, nas posições de a , e comissões. A comissão acompanha os participantes nas posições de até , inclusive.
Os participantes serão chamados em uma ordem escolhida uniformemente entre todas as permutações. Cada comissão seleciona o primeiro participante chamado entre aqueles que acompanha. Um mesmo participante pode ser selecionado por várias comissões.
Determine o valor esperado do número de participantes distintos selecionados por pelo menos uma comissão. Imprima esse valor módulo : se a esperança for a fração com não divisível pelo módulo, imprima módulo .
Input
A primeira linha contém e (, ). Cada uma das próximas linhas contém e (). Comissões com o mesmo intervalo são permitidas.
Output
Imprima a esperança pedida módulo .
Samples
Sample 1
Input
3 2 1 2 2 3
Output
665496237
Se o participante 2 for chamado primeiro, só ele será escolhido. Nos outros casos, serão escolhidos dois participantes distintos. A esperança é , representada por 665496237 módulo .
Sample 2
Input
4 2 1 4 1 4
Output
1
As duas comissões sempre selecionam a mesma pessoa.
Sample 3
Input
3 3 1 1 2 2 3 3
Output
3
Cada comissão acompanha uma única pessoa; as três pessoas são sempre selecionadas.