#include<bits/stdc++.h>
using namespace std;
int n,a,b,k[205],r=0x3f3f3f3f;
void dfs(int x,int ans) {
if(x==b) {
r=min(r,ans);
return;
}
if(x-k[x]>=1) dfs(x-k[x],ans+1);
if(x+k[x]<=n) dfs(x+k[x],ans+1);
}
int main() {
cin>>n>>a>>b;
for(int i=1; i<=n; ++i) {
cin>>k[i];
}
dfs(a,0);
if(r==0x3f3f3f3f) cout<<-1;
else cout<<r;
}