MLE on #1#2#3#4#5#6#8#10#11#12#13#14#15#16
#include <bits/stdc++.h>
#define int long long
using namespace std;
int n,a,b;
int k[207];
int lmin=1145141919810;
void dfs(int c,int s){
if(c==b){
if(s<lmin) lmin=s;
return ;
}
if(c>0&&c<=n){
dfs(c+k[c],s+1);
dfs(c-k[c],s+1);
}
}
signed main(){
scanf("%lld%lld%lld",&n,&a,&b);
for(int i=1;i<=n;i++){
scanf("%lld",&k[i]);
}
dfs(a,0);
if(lmin==1145141919810){
printf("-1");
}else{
printf("%lld",lmin);
}
return 0;
}