#include <cstdio>
#include <algorithm>
#define M 202
using namespace std;
int vis[M];
int n,b,t,mint=0xffff,cs[M];
void solve(int x){
if(x==b){
mint=min(t,mint);
return;
}
vis[x]++;
if(vis[x]>=M)
return;
if(x+cs[x]<=n){
t++;
solve(x+cs[x]);
t--;
}
if(x-cs[x]>0){
t++;
solve(x-cs[x]);
t--;
}
return;
}
int main(){
int a;
scanf("%d%d%d",&n,&a,&b);
for(int i=1;i<=n;i++)
scanf("%d",&cs[i]);
solve(a);
if(mint==0xffff)
printf("-1");
else
printf("%d",mint);
return 0;
}
8,9两个点WA