from heapq import heappop, heappush n, m, s, t = map(int, input().split()) s -= 1 t -= 1 p = list(map(int, input().split())) to = [[] for _ in range(n)] for _ in range(m): a, b = map(int, input().split()) a -= 1 b -= 1 to[a].append(b) to[b].append(a) added = [False] * n added[s] = True q = [(-p[s], s)] x, y = p[s], 0 while q: pi, i = heappop(q) pi = -pi if pi < x: x = pi y += 1 for v in to[i]: if added[v]: continue added[v] = True heappush(q, (-p[v], v)) print(y)