#include using namespace std; const int mod=1e9+7; int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int N; cin>>N; int from,to; cin>>from>>to; vectorA(N); for(int &i:A)cin>>i; A.push_back(from),A.push_back(to); sort(A.begin(),A.end()); unordered_mapto_idx; arraysg={0,0}; for(int i=0;idist(N+2,1e9); vector>G(N+2); for(int i=0;ibfs; dist[sg[0]]=0; bfs.push(sg[0]); while(bfs.size()){ int v=bfs.front(); bfs.pop(); for(int i:G[v]){ if(dist[i]>dist[v]+1){ dist[i]=dist[v]+1; bfs.push(i); } } } cout<<(dist[sg[1]]==1e9?-1:dist[sg[1]]-1)<<'\n'; }