#include <iostream>
using namespace std;
int a[205],vis[205],record[205][3],q[3]={1,-1};
int main(){
int n,x,y;
cin>>n>>x>>y;
if(x==y){
cout<<0;
return 0;
}
for(int i=1;i<=n;i++){
cin>>a[i];
}
record[1][1]=x;
record[1][2]=0;
vis[1]=1;
int h=0,t=1;
while(h<t){
h++;
for(int i=0;i<2;i++){
int s=q[i]*a[record[h][1]]+record[h][1];
if(s>=1&&s<=n&&vis[s]==0){
vis[s]=1;
t++;
record[t][1]=s;
record[t][2]=record[h][2]+1;
if(record[t][1]==y){
cout<<record[t][2];
return 0;
}
}
}
}
cout<<-1;
}