#include<bits/stdc++.h>
using namespace std;
bool vis[10000];
int n,A,B,ans=100000000;
int a[10000];
void dfs(int y,int cnt){
if(y==B){
ans=min(ans,cnt);
return;
}if(cnt>ans){
return;
}vis[y]=1;
if(y+a[y]<=n){
if(vis[y+a[y]]==0){
dfs(y+a[y],cnt+1);
}
}if(y-a[y]>=1){
if(vis[y-a[y]]==0){
dfs(y-a[y],cnt+1);
}
}return;
}
int main(){
cin>>n>>A>>B;
for(int i=1;i<=n;i++){
cin>>a[i];
}dfs(A,0);
if(ans==100000000){
cout<<-1;
}else{
cout<<ans;
}
return 0;
}
能不能帮我康一康