#include<iostream>
#include<cstdio>
using namespace std;
int n,a,b,ans=134217727;
int map[205];
bool f[205];
void dfs(int t,int sum){
if(t==b){
ans=min(ans,sum);
return ;
}
if(sum>ans)
return ;
f[t]=1;
if(t-map[t-1]>=1&&!f[t-map[t]]) dfs(t-map[t],sum+1);
if(t+map[t+1]<=n&&!f[t+map[t]]) dfs(t+map[t],sum+1);
f[t]=0;
}
int main(){
scanf("%d%d%d",&n,&a,&b);
for(int i=1;i<=n;i++)
scanf("%d",&map[i]);
f[a]=1;
dfs(a,0);
if(ans!=134217727) printf("%d",ans);
else printf("-1");
return 0;
}