#include <iostream>
#include <queue>
using namespace std;
int aa[205],vis[205];
int a,b,n;
queue <int> f;
queue <int> s;
int main()
{
cin>>n>>a>>b;
for(int i=1;i<=n;i++)
{
cin>>aa[i];
}
f.push(a);
s.push(0);
vis[a]=1;
while(!f.empty())
{
if(f.front()==b)
{
cout<<s.front();
return 0;
}
int t=aa[f.front()]+f.front();
if(t<=n && !vis[t])
{
f.push(t);
s.push(s.front()+1);
vis[t]=1;
}
t=f.front()-aa[f.front()];
if(t>=1 && !vis[t])
{
f.push(t);
s.push(s.front()+1);
vis[t]=1;
}
f.pop();
s.pop();
}
cout<<-1;
return 0;
}