Empresas de telefonia alteraram recentemente a forma como operam. Como você e seus dois colegas de equipe precisam treinar juntos para maratonas de programação online, você deseja calcular quanto gastará para contatá-los por telefone.
Existem ao todo empresas de telefonia, numeradas de 1 a . Cada empresa pode possuir múltiplas linhas de comunicação direcionadas. Cada uma dessas linhas parte da empresa e alcança todas as empresas de um intervalo . O custo da comunicação varia da seguinte forma: o custo para conectar a empresa à empresa é , à empresa é , à empresa é , e assim por diante, até a empresa , para a qual o custo é . Mais formalmente, o custo para conectar a empresa à empresa () é .
O custo de um caminho é a soma dos custos das conexões que o formam. O custo de uma chamada telefônica de uma empresa a outra empresa é o menor custo entre todos os caminhos da empresa até a empresa . Um caminho pode não utilizar nenhuma linha de comunicação; portanto, o custo de uma chamada de uma empresa para ela mesma é .
Você usa os serviços da empresa 1, enquanto seus dois colegas de equipe usam os serviços das empresas e . Você precisa calcular o custo total mínimo para ligar para ambos os seus colegas, isto é, a soma dos custos mínimos das chamadas da empresa 1 às empresas e . Vocês só conseguem treinar se for possível ligar para ambos os colegas.
A primeira linha contém quatro inteiros , , e (, , ), representando, respectivamente, o número de empresas, o número de linhas de comunicação e os números das empresas de seus dois colegas. As empresas e podem ser iguais entre si e também podem ser iguais à empresa 1.
Cada uma das linhas seguintes contém cinco inteiros , , , e (, , , ), descrevendo uma linha de comunicação que parte da empresa e alcança as empresas do intervalo . É garantido que .
É possível que pertença ao intervalo .
Imprima uma única linha contendo um número inteiro representando o custo total mínimo para ligar para ambos os colegas. Se não for possível ligar para pelo menos um deles, imprima .
8 4 2 8 1 4 6 1 1 4 2 3 2 2 2 6 8 0 5 6 7 8 6 1
13
O menor custo para ligar da empresa 1 para a empresa 2 é 3, pelo caminho 1 → 4 → 2, cujas conexões custam 1 e 2. Já o menor custo para ligar da empresa 1 para a empresa 8 é 10, pelo caminho 1 → 6 → 8, cujas conexões custam 3 e 7.
Portanto, o custo total para ligar para os dois colegas é 3 + 10 = 13.
8 4 3 7 1 4 7 10 -2 6 5 8 0 1 4 1 2 3 0 3 1 5 4 6
-1
Nesse caso, não existe caminho da empresa 1 para a empresa 3, portanto a resposta é −1.
6 3 5 2 1 2 6 2 3 3 5 6 1 0 6 5 5 1 1
8
1 1 1 1 1 1 1 0 0
0
Os dois colegas usam os serviços da empresa 1. Como o custo mínimo para ligar da empresa 1 para ela mesma é 0, o custo total é 0.