#include<bits/stdc++.h>
#define ll long long
#define pb(x) push_back(x)
#define mp(a,b) make_pair(a,b)
#define fi first
#define se second
#define pr(x) cerr<<#x<<"="<<(x)<<endl
#define pri(x,lo) {cerr<<#x<<"={";for (int ol=0;ol<=lo;ol++)cerr<<x[ol]<<",";cerr<<"}"<<endl;}
#define inf 100000000
using namespace std;
int bfs[201],head=0,tail=0;
int ans[10001];
int main()
{
int N,A,B;
cin>>N>>A>>B;
int m[N];
for(int i=1;i<=N;i++){
cin>>m[i];
}
bfs[++tail]=A;
ans[A]=0;
bool b[201];
while(head!=tail){
int a=bfs[++head];
int x=m[a];
if(a==B){
cout<<ans[B];
return 0;
}
if(a-x>0&&!b[a-x]){
b[a-x]=true;
bfs[++tail]=a-x;
ans[a-x]=ans[a]+1;
}
if(a+x<=200&&!b[a+x]){
b[a+x]=true;
bfs[++tail]=a+x;
ans[a+x]=ans[a]+1;
}
}
cout<<-1;
return 0;
}