Loading [MathJax]/jax/output/CommonHTML/jax.js

D: 次元旅行

問題

次元が 1 次元から N 次元まで存在する。 AORイカちゃんは次元間を移動できる。 具体的には、AORイカちゃんが i 次元にいるとき、 j 次元( i>j )には自由に移動する事ができるが、 k 次元( i<k )に移動するには魔法を使う必要がある。

AORイカちゃんは M 種類の魔法が使え、 1,2,,M と番号が振られている。 i 番目の魔法では ai 次元から bi 次元に移動できる。 これは ai 次元にいるときしか使えない。

i 次元に行くと次元特有の「次元の呪い」を受ける。 i 次元の「次元の呪い」により、AORイカちゃんは di ダメージを負う。 i 次元の「次元の呪い」を受けた場合、その後ずっと、 j 次元( i>j )の「次元の呪い」は受けない。

AORイカちゃんが s 次元から t 次元に移動するとき、 負うダメージの合計の最小値を求めよ。 ただし、AORイカちゃんは既に s 次元の「次元の呪い」は受けており、そのダメージは考えないものとする。 また、AORイカちゃんは t 次元に行けることが保証されている。

制約

入力形式

入力は以下の形式で与えられる。

N M s t
d1dN
a1 b1
a2 b2

aM bM

出力

AORイカちゃんが受けるダメージの合計の最小値を出力せよ。また、末尾に改行も出力せよ。

サンプル

サンプル入力 1

3 1 2 3
1 2 3
1 3

サンプル出力 1

3

サンプル入力 2

3 2 1 2
1 3 2
1 2
1 3

サンプル出力 2

2

サンプル入力 3

7 5 2 3
277 390 2 784 401 641 917
2 5
5 6
1 5
2 4
5 7

サンプル出力 3

401