Linhas Telefônicas

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 NN empresas de telefonia, numeradas de 1 a NN. Cada empresa UU pode possuir múltiplas linhas de comunicação direcionadas. Cada uma dessas linhas parte da empresa UU e alcança todas as empresas de um intervalo [L,R][L, R]. O custo da comunicação varia da seguinte forma: o custo para conectar a empresa UU à empresa LL é XX, à empresa L+1L+1 é X+KX + K, à empresa L+2L+2 é X+2×KX + 2 \times K, e assim por diante, até a empresa RR, para a qual o custo é X+(RL)×KX + (R - L) \times K. Mais formalmente, o custo para conectar a empresa UU à empresa ii (LiRL \leq i \leq R) é X+(iL)×KX + (i - L) \times K.

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 UU a outra empresa VV é o menor custo entre todos os caminhos da empresa UU até a empresa VV. Um caminho pode não utilizar nenhuma linha de comunicação; portanto, o custo de uma chamada de uma empresa para ela mesma é 00.

Você usa os serviços da empresa 1, enquanto seus dois colegas de equipe usam os serviços das empresas AA e BB. 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 AA e BB. Vocês só conseguem treinar se for possível ligar para ambos os colegas.

Entrada

A primeira linha contém quatro inteiros NN, MM, AA e BB (1N1051 \leq N \leq 10^{5}, 1M1051 \leq M \leq 10^{5}, 1A,BN1 \leq A, B \leq N), 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 AA e BB podem ser iguais entre si e também podem ser iguais à empresa 1.

Cada uma das MM linhas seguintes contém cinco inteiros UU, LL, RR, XX e KK (1UN1 \leq U \leq N, 1LRN1 \leq L \leq R \leq N, 0X10130 \leq X \leq 10^{13}, 108K108-10^{8} \leq K \leq 10^{8}), descrevendo uma linha de comunicação que parte da empresa UU e alcança as empresas do intervalo [L,R][L, R]. É garantido que X+(RL)×K0X + (R - L) \times K \geq 0.

É possível que UU pertença ao intervalo [L,R][L, R].

Saída

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 1-1.

Exemplos

Entrada

8 4 2 8
1 4 6 1 1
4 2 3 2 2
2 6 8 0 5
6 7 8 6 1

Saída

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.

Entrada

8 4 3 7
1 4 7 10 -2
6 5 8 0 1
4 1 2 3 0
3 1 5 4 6

Saída

-1

Nesse caso, não existe caminho da empresa 1 para a empresa 3, portanto a resposta é −1.

Entrada

6 3 5 2
1 2 6 2 3
3 5 6 1 0
6 5 5 1 1

Saída

8

Entrada

1 1 1 1
1 1 1 0 0

Saída

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.