#include<cstdio>
#include<algorithm>
using namespace std;
int n , a , b , k[5000] , ans = 0x7fffff;
bool v[5000];
void dfs(int x , int sum)
{
if(sum >= ans) return;
if(x == b) {
ans = min(ans , sum);
return;
}
v[x] = true;
if(x + k[x] <= n && !v[x + k[x]])
dfs(x + k[x] , sum + 1);
if(x - k[x] >= 1 && !v[x + k[x]])
dfs(x - k[x] , sum + 1);
v[x] = false;
}
int main()
{
scanf("%d%d%d" , &n , &a , &b);
v[a] = true;
for(int i = 1; i <= n; ++i) {
scanf("%d" , &k[i]);
}
dfs(a , 0);
if(ans != 0x7fffff) printf("%d" , ans);
else printf("-1");
return 0;
}