次元が $1$ 次元から $N$ 次元まで存在する。 AORイカちゃんは次元間を移動できる。 具体的には、AORイカちゃんが $i$ 次元にいるとき、 $j$ 次元( $i > j$ )には自由に移動する事ができるが、 $k$ 次元( $i < k$ )に移動するには魔法を使う必要がある。
AORイカちゃんは $M$ 種類の魔法が使え、 $1, 2, \dots, M$ と番号が振られている。 $i$ 番目の魔法では $a_i$ 次元から $b_i$ 次元に移動できる。 これは $a_i$ 次元にいるときしか使えない。
$i$ 次元に行くと次元特有の「次元の呪い」を受ける。 $i$ 次元の「次元の呪い」により、AORイカちゃんは $d_i$ ダメージを負う。 $i$ 次元の「次元の呪い」を受けた場合、その後ずっと、 $j$ 次元( $i > j$ )の「次元の呪い」は受けない。
AORイカちゃんが $s$ 次元から $t$ 次元に移動するとき、 負うダメージの合計の最小値を求めよ。 ただし、AORイカちゃんは既に $s$ 次元の「次元の呪い」は受けており、そのダメージは考えないものとする。 また、AORイカちゃんは $t$ 次元に行けることが保証されている。
入力は以下の形式で与えられる。
$N \ M \ s \ t$
$d_1 \dots d_N$
$a_1 \ b_1$
$a_2 \ b_2$
$\vdots$
$a_M \ b_M$
AORイカちゃんが受けるダメージの合計の最小値を出力せよ。また、末尾に改行も出力せよ。
3 1 2 3 1 2 3 1 3
3
3 2 1 2 1 3 2 1 2 1 3
2
7 5 2 3 277 390 2 784 401 641 917 2 5 5 6 1 5 2 4 5 7
401