#include<cstdio>
using namespace std;
int n,a,b;
int minn=1E9;
int k[240];
void dfs(int f,int cnt){
if(f==b){
if(cnt<minn){
minn=cnt;
}
return;
}
if(k[f]+f<=n)
dfs(k[f]+f,cnt+1);
if(f-k[f]>=1)
dfs(f-k[f],cnt+1);
}
int main()
{
scanf("%d%d%d",&n,&a,&b);
for(int i=1;i<=n;i++)
scanf("%d",&k[i]);
dfs(a,0);
if(minn==10E9){
printf("-1");
return 0;
}
printf("%d",minn);
}
https://www.luogu.com.cn/record/46761118