#include<bits/stdc++.h>
using namespace std;
int n,a,b;
int ans=2147483647;
int x[201];
bool visit[201];
void dfs(int now,int cnt){
if(now==b)ans=min(ans,cnt);
if(cnt>ans)return;
visit[now]=1;
if(now+x[now]<=n&&!visit[now+x[now]])
dfs(now+x[now],cnt+1);
if(now-x[now]>=1&&!visit[now-x[now]])
dfs(now-x[now],cnt+1);
}
int main(){
cin>>n>>a>>b;
for(int i=1;i<=n;i++)cin>>x[i];
visit[a]=true;
dfs(a,0);
if(ans!=2147483647)cout<<ans<<endl;
else cout<<-1<<endl;
return 0;
}