#include<iostream>
#include<cstdio>
using namespace std;
int c[250];
bool d[250];
int n,a,b,s,ans=101010;
void dg(int a,int s)
{
if(a==b)
{
ans=min(ans,s);
return ;
}
d[a]=1;
if(s>ans)return ;
if(a+c[a]<=n&&d[a+c[a]]!=1)
{
dg(a+c[a],s+1);
}
if(a-c[a]>=1&&d[a-c[a]]!=1)
{
dg(a-c[a],s+1);
}
}
int main()
{
cin>>n>>a>>b;
for(int i=1;i<=n;i++)
{
cin>>c[i];
}
d[a]==1;
dg(a,s);
if(ans==101010)
{
cout<<-1<<endl;
return 0;
}
cout<<ans;
return 0;
}