#include <bits/stdc++.h>
using namespace std;
int n,a,b;
int ans[205];
bool vis[205];
int sum=0x7ffffff,sum1=0;
void dfs(int f)
{
if(f==b)
sum=min(sum,sum1);
if(sum1>sum)
return;
vis[f]=1;
if(f+ans[f]<=n&&!vis[f+ans[f]])
{
sum1++;
dfs(f+ans[f]);
}
if(f-ans[f]>=1&&!vis[f-ans[f]])
{
sum1++;
dfs(f-ans[f]);
}
vis[f]=0;
}
int main()
{
cin>>n>>a>>b;
for(int i=1;i<=n;i++)
cin>>ans[i];
dfs(a);
if(sum!=0x7ffffff)
printf("%d",sum);
else
printf("-1");
}