Tráfego
Você foi recentemente contratado por uma empresa de transportes, chamada Somente Bom Carros (S.B.C.). Sua primeira tarefa é aprender a rota utilizada para sair de uma filial até outra. Quando você estava analisando a rota, ficou claro que quem a determinou levou em conta apenas a distância, mas não a configuração dos semáforos de trânsito. Exiba as suas habilidades em programação encontrando a rota de menor tempo, levando em conta os semáforos.
Sua cidade contém esquinas e ruas unidirecionais. Cada uma das ruas possui um semáforo próximo a sua extremidade de destino, que funciona da seguinte forma:
- No instante zero (que coincide com o horário que o veículo sairá da filial), o semáforo estará verde, e continuará assim por segundos, onde é o índice da rua.
- No instante , o semáforo muda para vermelho, permanecendo assim por segundos.
- No instante , o semáforo volta a ficar verde, e o processo continua assim indefinidamente.
Observe que não há nenhuma garantia de que em uma dada esquina no máximo um sinal ficará verde ao mesmo tempo. Curiosamente, a empresa W.M.P S/A (Wow, Much Problem. Such Accepted), considerou que o risco de colisão era excessivamente pequeno (algo relacionado ao baixo mdc dos períodos dos semáforos na cidade...)
Entrada
A primeira linha da entrada contém os inteiros e . Cada uma das linhas seguintes contém os inteiros , indicando uma rua indo da esquina até a , com distância , e cujo semáforo permanece no verde por segundos e no vermelho por .
A filial de origem é sempre a de numeração , enquanto a destino é sempre a de valor . É possível que existam duas ruas ligando o mesmo par de esquinas, em qualquer sentido (Serão consideradas ruas diferentes com semáforos indepedendentes). Assuma que o veículo se desloca uma unidade de distância por segundo.
Saída
A saída consiste em uma linha com um único inteiro, o tempo mínimo necessário para se deslocar até a outra filial. Caso seja impossível, imprima -1.
Restrições
Exemplos
Entrada | Saída |
3 3
1 3 5 5 100 1 2 10 11 1000 2 3 20 31 1000 |
30 |
4 5
1 2 4 2 3 2 3 3 2 2 1 3 5 2 5 2 4 2 4 4 3 4 6 4 3 |
8 |