#include<bits/stdc++.h>
using namespace std;
int n,j,book[10000]={0},q,m[10000],ans=1000000;
void w(int x,int y,int z){
if(x==y)ans=min(ans,z);
if(m[x]!=0){
if(x+m[x]<=n&&book[x+m[x]]!=1){
book[x+m[x]]=1;
w(x+m[x],y,z+1);
book[x+m[x]]=0;
}
if(x-m[x]>0&&book[x-m[x]]!=1){
book[x-m[x]]=1;
w(x-m[x],y,z+1);
book[x-m[x]]=0;
}
}
}
int main(){
cin>>n>>j>>q;
for(int i=1;i<=n;i++)cin>>m[i];
if(j==q)cout<<0;
else{
w(j,q,0);
if(ans==1000000){
cout<<"-1";
}
else cout<<ans;
}
return 0;
}
TLE 2个