# include <iostream>
# include <cmath>
# include <cstring>
# include <string>
# include <algorithm>
using namespace std;
int n,a,b,ans=2147483647;
int k[10005];
bool vis[10005];
void dfs (int dep,int cnt){
if (dep==b) {
if (ans<0||ans>cnt) ans=cnt;
return ;
}
if (ans>0&&cnt>ans) return ;
vis[dep]=1;
if (dep+k[dep]<=n&&!vis[dep+k[dep]]) dfs (dep+k[dep],cnt+1);
if (dep-k[dep]>0&&!vis[dep-k[dep]]) dfs (dep-k[dep],cnt+1);
vis[dep]=0;
return ;
}
int main (){
ios::sync_with_stdio (false);
cin.tie(NULL);
cout.tie(NULL);
cin >>n>>a>>b;
for (int i=1;i<=n;i++)
cin >>k[i];
vis[a]=1;
dfs (a,0);
if (ans==2147483647) cout <<-1<<endl;
else cout <<ans<<endl;
return 0;
}