#include<bits/stdc++.h>
using namespace std;
int a[205],n,A,b,m,q,vis[205],w;
bool check()
{
for(int i=1;i<=n;i++)
if(!vis[i])
return false;
return true;
}
void dfs(int s)
{
if(s==b)
{
q=1;
return;
}
if(check())
{
w=1;
return;
}
vis[s]=1;
for(int i=1;i<=2;i++)
{
if(q||w)
return;
m++;
if(i==1&&!vis[s+a[s]]&&s+a[s]<=n)
dfs(s+a[s]);
else if(!vis[s-a[s]]&&s-a[s]>-1)
dfs(s-a[s]);
}
}
int main()
{
cin>>n>>A>>b;
for(int i=1;i<=n;i++)
cin>>a[i];
dfs(A);
if(q)
cout<<m;
else
cout<<-1;
}