#include<bits/stdc++.h>
#define ll long long
#define N 2100
using namespace std;
int arr[N][3];
int vis[N];
int ans;
int x,y;
int n,m;
void dfs(int temp,int cnt){
if(temp==y) {
if(cnt<ans)ans=cnt;
return ;
}
for(int i=1;i<=m;i++){
if(vis[i]!=1&&(arr[i][1]==temp||arr[i][2]==temp)){
vis[i]=1;
int t=temp;
if(arr[i][1]==temp)t=arr[i][2];
else t=arr[i][1];
if(cnt+1>ans){
return ;
}else dfs(t,cnt+1);
vis[i]=0;
}
}
}
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>arr[i][1]>>arr[i][2];
}
cin>>x>>y;
ans=3000;
dfs(x,0);
cout<<ans-1;
return 0;
}
#2 4 5 WA 菜鸡新学求调