#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=210;
int n,s,t,a[maxn],mmin=1e5;
bool flag=false;
void DFS(int now,int step){
if(now==t){
flag=true;
if(step<mmin){
mmin=step;
}
return;
}
if(now+a[now]<=n){
DFS(now+a[now],step+1);
}
if((now-a[now])>=1){
DFS(now-a[now],step+1);
}
}
int main(){
cin>>n>>s>>t;
for(int i=1;i<=n;i++){
cin>>a[i];
}
DFS(s,0);
if(flag){
printf("%d",mmin);
}
else{
printf("-1");
}
return 0;
}