#include<stdio.h>
int k[201];
int min=1000;
int book[201];
void dfs(int A,int B,int cnt,int N){
if(A==B){
if(cnt<min){
min=cnt;
}else if(cnt<min){
book[A]=1;
if(A+k[A]<=N&&book[A+k[A]]==0){
dfs(A+k[A],B,cnt+1,N);
}
if(A-k[A]>0&&book[A-k[A]]==0){
dfs(A-k[A],B,cnt+1,N);
}
book[A]=0;
}
}
}
int main(void)
{
int N,A,B;
scanf("%d %d %d",N,A,B);
printf("继续\n");
int a,cnt=0;
for(a=1;a<N+1;a++){
scanf("%d",&k[a]);
}
for(a=1;a<N+1;A++){
book[a]=0;
}
dfs(A,B,0,N);
if(min==1000){
min=-1;
}
printf("%d",min);
return 0;
}