(n,m),H,*E=[[*map(int,t.split())]for t in open(0)] D=[-9e9]*3*n D[1]=D[-n]=z=-1 g=max for h,a,b in sorted(g((H[a-1],a,b),(H[b-1],b,a))for a,b in E):s=D[a]=g(D[a],D[b]+1);t=D[-a]=g(D[-a],D[-b]+1);z=g(z,s+t+3) print(z)