n,m,s,t = map(int,input().split()) *p, = map(int,input().split()) g = [[] for _ in range(n)] for _ in range(m): a,b = map(int,input().split()) g[a-1].append(b-1) g[b-1].append(a-1) s -= 1; t -= 1 from heapq import * q = [(-p[s],s)] used = [0]*n used[s] = 0 ans = 0 X = p[s] while q: x,v = heappop(q) x = -x if X > x: X = x ans += 1 for c in g[v]: if used[c] == 0: heappush(q,(-p[c],c)) used[c] = 1 print(ans)