#include <bits/stdc++.h>
using namespace std;
int n, a, b, ans = -1, sum = 0;
int k[32768][2];
bool s[32768], cmp = false;
int q[32768];
void bfs(int a, int b) {
int x, f = 0, r = 1;
s[a] = true;
q[1] = a;
bool test = true;
int y = 0;
do {
f++;
for(int j = 0; j <= 1; j++) {
y=q[f];
if(j <= 1) x = q[f] + k[y][j];
if(x >= 1 && x <= n && !s[x]) {
if(x == b) {
sum++;
ans = sum;
test = false;
break;
} else {
cmp = true;
r++;
s[x] == true;
q[r] = x;
}
}
}
if(cmp) {
sum++;
cmp = false;
}
} while(f < r && test);
cout << ans << endl;
}
int main() {
memset(s, false, sizeof(s));
memset(k, -1, sizeof(k));
cin >> n >> a >> b;
for(int i = 1; i <= n; i++) {
cin >> k[i][0];
k[i][1] = 0-k[i][0];
}
if(a == b) {
cout << 0 << endl;
return 0;
}
bfs(a, b);
return 0;
}