#include<iostream>
#include<cstdio>
#include<queue>
using namespace std;
int n,a,b,t;
int d[205],dis[205],v[205];
queue <int> q;
int main(){
cin>>n>>a>>b;
if(a==b){
cout<<'0'<<endl;
return 0;
}
for(int i=1;i<=n;i++){
cin>>d[i];
}
q.push(a);
while(!q.empty()){
t=q.front();
q.pop();
int shang=t+d[t];
int xia=t-d[t];
v[t]=1;
if(shang<=n&&v[shang]==0){
if(shang==b){
cout<<dis[t]+1;
return 0;
}
v[shang]=1;
dis[shang]=dis[t]+1;
q.push(shang);
}
if(xia>=1&&v[xia]==0){
if(xia==b){
cout<<dis[t]+1;
return 0;
}
v[xia]=1;
dis[xia]=dis[t]+1;
q.push(xia);
}
//cout<<t<<':'<<dis[t]<<' '<<v[t]<<endl;;
}
cout<<-1<<endl;
return 0;
}