#include<stdio.h>
int n,a,b,k[210],bl[210];
int dfs(int a1)
{
int h=9999,l=9999;
if(bl[a1]==1)
{
return 9999;
}
bl[a1]=1;
if(a1==b)
{
return 0;
}
if(a1==0)
{
return h;
}
if(a1+k[a1]<=n)
{
h=dfs(a1+k[a1]);
}
if(a1-k[a1]>=1)
{
l=dfs(a1-k[a1]);
}
if(h>l)
{
return l+1;
}
else
{
return h+1;
}
}
int main()
{
int i,c;
scanf("%d%d%d",&n,&a,&b);
for(i=1;i<=n;i++)
{
scanf("%d",&k[i]);
}
c=dfs(a);
if(c<9990)
{
printf("%d",c);
}
else
{
printf("-1");
}
return 0;
}