n,m =map(int,input().strip().split())
adj=[[0 for i in range(n)] for j in range(n)]
for i in range(m):
a,b =map(int,input().strip().split())
adj[a-1][b-1]=1
adj[b-1][a-1]=1
x,y=map(int,input().strip().split())
path=[0 for i in range(n)]
node=[0 for i in range(n)]
def dfs(now,y,adj,path,node):
if now==y:
for i in range(0,n):
if path[i]==1:
node[i]+=1
else:
for i in range(0,n):
if adj[now][i]==1 and path[i]==0:
path[i]=1
dfs(i,y,adj,path,node)
path[i]=0
dfs(x-1,y-1,adj,path,node)
ans=0
if node[y-1]>0:
for i in range(n):
if node[y-1]==node[i]:
ans+=1
print(ans-1)
else:
print("-1")