#include <iostream>
#include <cstdio>
using namespace std;
int n,a,b,ar[205],Min=1e9;
bool vis[205];
void dfs(int wz,int cs){
if(wz<=0||wz>n)return;
if(wz==b){
Min=min(Min,cs);
return;
}
vis[wz]=1;
if(!vis[wz+ar[wz]])dfs(wz+ar[wz],cs+1);
if(!vis[wz-ar[wz]])dfs(wz-ar[wz],cs+1);
}
int main(){
scanf("%d%d%d",&n,&a,&b);
for(int i=1;i<=n;i++)
scanf("%d",ar+i);
dfs(a,0);
printf("%d\n",Min==1e9?-1:Min);
return 0;
}