#include<bits/stdc++.h>
using namespace std;
int n, a, b, ans = 0x3f3f3f3f;
int c[210];
int vis[210];
void dfs(int x, int k){
if(x < 1 || x > n || k > ans || vis[x]) return;
if(x == b){
ans = min(k, ans);
return;
}
vis[x] = 1;
dfs(x + c[x], k + 1);
dfs(x - c[x], k + 1);
vis[x] = 0;
}
int main(){
cin >> n >> a >> b;
for(int i = 1; i <= n; i++) cin >> c[i];
dfs(a, 0);
if(ans == 0x3f3f3f3f) cout << "-1";
else cout << ans;
return 0;
}