#include<bits/stdc++.h>
using namespace std;
int n,a,ans=2147483647,b,k[205],p[205];
void dfs(int x,int y){
if(ans<y) return;
if(x==b){
ans=min(ans,y);
return;
}
p[x]=1;
if(x+k[x]<=n&&p[x+k[x]]==0){
dfs(x+k[x],y+1);
}
if(x-k[x]>=1&&p[x-k[x]]==0){
dfs(x-k[x],y+1);
}
p[x]=0;
}
int main(){
cin>>n>>a>>b;
for(int i=1;i<=n;i++){
cin>>k[i];
}
dfs(a,0);
if(ans==2147483647){
cout<<-1;
}
else{
cout<<ans;
}
return 0;
}