#include<bits/stdc++.h>
using namespace std;
int n,sta,end;
int a[202];
int vis[202];
struct pos{
int lev;
int ste;
};
void bfs(){
pos cur,nex;
cur.lev=sta;
cur.ste=0;
queue<pos>qu;
qu.push(cur);
vis[sta]=1;
while(!qu.empty()){
cur=qu.front();
qu.pop();
if(cur.lev==end){
cout<<cur.ste<<endl;
return;
}
nex.lev=cur.lev+a[cur.lev];
nex.ste=cur.ste+1;
if(nex.lev<=n){
if(vis[nex.lev]==0){
vis[nex.lev]=1;
qu.push(nex);
}
}
nex.lev=cur.lev-a[cur.lev];
nex.ste=cur.ste+1;
if(nex.lev>=1){
if(vis[nex.lev]==0){
vis[nex.lev]=1;
qu.push(nex);
}
}
}
cout<<-1<<endl;
return;
};
int main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
cin>>n>>sta>>end;
for(int i=1;i<=n;i++){
cin>>a[i];
vis[i]=0;
}
bfs();
return 0;
}
//大佬们帮小蒟蒻看看病