#include<bits/stdc++.h>
using namespace std;
int d[210],ans=201,e=0,f[210],h=0;
int n,a,b;
void dfs(int c,int answer)
{
f[c]++;
if(e==1)
{
return;
}
if(c == b)
{
h=1;
if(ans >= answer)
{
ans = answer;
}
for(int i = 0;i < 210;i++)
f[i] = 0;
e=1;
return;
}
if(c + d[c] <= b && f[c+d[c]] == 0)
{
dfs(c+d[c],answer+1);
}
if(c - d[c] >= 1 && f[c-d[c]] == 0)
{
dfs(c-d[c],answer+1);
}
}
int main()
{
cin >> n >> a >> b;
for(int i = 1;i <= n;i++)
{
cin >> d[i];
}
dfs(a,0);
if(h == 0)
{
cout << -1 << endl;
return 0;
}
cout << ans << endl;
return 0;
}
#9#10WA了
求大佬指点,谢谢