#include <bits/stdc++.h>
#define int long long
using namespace std;
int n, a, b, ans = 1e18, re = 0;
int d[210], mi[210];
void dfs(int x) {
if (x < 1 || x > n) return ;
if (re >= mi[x]) return ;
if (re >= ans) return ;
if (x == b) {
ans = re;
return ;
}
mi[x] = re;
re++;
dfs(x+d[x]);
dfs(x-d[x]);
}
signed main() {
cin >> n >> a >> b;
for (int i = 1; i <= n; i++) {
cin >> d[i];
mi[i] = 1e18;
}
dfs(a);
if (ans == 1e18) cout << -1;
else cout << ans;
return 0;
}