# include <stdio.h>
int ans = 9999999;
int target;
int num[202];
int n;
void Dfs(int floor,int step,int vis[])
{
if (floor == target)
{
if (step < ans)
{
ans = step;
}
return ;
}
if (vis[floor] == 1)
{
return ;
}
vis[floor] = 1;
if (floor + num[floor] <= n)
{
Dfs(floor+num[floor],step+1,vis);
}
if (floor - num[floor] >= 1)
{
Dfs(floor - num[floor],step+1,vis);
}
return ;
}
int main (void)
{
int start;
scanf ("%d %d %d",&n,&start,&target);
int vis[202];
for (int i=1;i<=n;i++)
{
scanf ("%d",&num[i]);
vis[i] = 0;
}
Dfs(start,0,vis);
if (ans == 9999999)
{
printf ("-1");
return 0;
}
printf("%d",ans);
return 0;
}
难受死了