import sys input = sys.stdin.readline from collections import deque N,M,A,B=map(int,input().split()) X=[] for i in range(M): l,r=map(int,input().split()) l=max(l,A) r=min(r,B) X.append((l,r)) E=[[] for i in range(N+1)] for x,y in X: E[x-1].append(y) E[y].append(x-1) DIS=[1<<60]*(N+1) DIS[A-1]=0 Q=deque() Q.append(A-1) while Q: x=Q.popleft() for to in E[x]: if DIS[to]>DIS[x]+1: DIS[to]=DIS[x]+1 Q.append(to) ANS=DIS[B] if ANS>1000000: print(-1) else: print(ANS)