#GESP82. 图上游走

图上游走

题目描述:

给你一个有 NN 个点和 MM 条边的简单无向图。每个点有一个权值,点 ii1iN1\le i \le N)的权值是 pip_i。第 ii 条边(1iM1 \le i \le M)连接点 aia_ibib_i

你从点 SS 出发,在图上游走。每一步你可以选一条和当前点相连的边,沿着这条边走过去。

你的目标是走若干步之后到达点 TT,然后停止。每一条边和每个点都可以经过多次。特别的,当你到达点 TT 时,可以选择停止,也可以选择继续走。

出发时你的满意度是 00。在游走的过程中,每走一步到达一个点之后,如果这个点的权值比你此前到过的点的权值都小,那么你的满意度增加一。

求你的满意度可能达到的最大值。

数据范围

  • 2N1052 \le N \le 10^5
  • 1M1051 \le M \le 10^5
  • 1S,TN1 \le S, T \le N
  • STS \ne T
  • 保证可以从 SS 到达 TT
  • 1pi1091 \le p_i \le 10^91iN1 \le i \le N
  • 1ai<biN1 \le a_i < b_i \le N1iM1 \le i \le M
  • 输入的值都是整数。

一共有 25 个测试点。测试点 1 到 3 满足 N=5N = 5。测试点 4 到 13 满足 N<256N < 256

输入

第一行包含四个整数 N,M,S,TN, M, S, T。第二行包含 NN 个整数 p1,p2,,pNp_1, p_2, \dots, p_N。接下来 MM 行,每行包含两个整数 ai,bia_i, b_i

输出

输出一个整数,表示你的满意度可能达到的最大值。

样例输入 1

4 4 3 4
8 3 5 2
1 4
2 3
1 2
3 4

样例输出 1

2

32143 \to 2 \to 1 \to 4 这个路线走,经过的点的权值依次是 5,3,8,25, 3, 8, 2

样例输入 2

2 1 1 2
1 2021
1 2

样例输出 2

0

样例输入 3

7 8 3 7
12 23 34 45 56 67 78
1 4
2 3
4 7
5 6
2 7
6 7
1 5
2 5

样例输出 3

2