#include<bits/stdc++.h>
using namespace std;
int n,a,b,k[100000];
int dfs(int u,int step)
{
if(u<1||u>n)return INT_MAX;
if(u==b)return step;
return min(dfs(u-k[u],step+1),dfs(u+k[u],step+1));
}
int main()
{
cin>>n>>a>>b;
for(int i=1;i<=n;i++)cin>>k[i];
if(dfs(a,0)==INT_MAX)cout<<-1;
else cout<<dfs(a,0);
}