#include<bits/stdc++.h>
using namespace std;
const int maxn=200+5;
int p[maxn];
int n,a,b;
void dfs(int now,int ans){
if(now==b){
cout<<ans;
exit(0);
}
if(now+p[now]>=1&&now+p[now]<=n){
dfs(now+p[now],ans+1);
}
if(now-p[now]>=1&&now-p[now]<=n){
dfs(now-p[now],ans+1);
}
}
int main(){
cin>>n>>a>>b;
for(int i=1;i<=n;i++){
cin>>p[i];
}
dfs(a,0);
cout<<-1;
return 0;
}