#include #include #include using namespace std; int N; int A[50002],d[50002]; mapid; main() { cin>>N>>A[0]; cin>>A[N+1]; for(int i=1;i<=N;i++)cin>>A[i]; for(int i=0;i<=N+1;i++) { id[A[i]]=i; d[i]=1e9; } queueP; P.push(0); d[0]=0; while(!P.empty()) { int u=P.front();P.pop(); for(int x=0;x<30;x++) { int v=A[u]^1<d[u]+1) { d[j]=d[u]+1; P.push(j); } } } } int ans=d[N+1]; if(ans==(int)1e9)ans=0; cout<