#include <bits/stdc++.h>
using namespace std;
int n, k[205], b;
bool pd[205];
int ans = 999;
void dfs(int a, int s) {
if (a < 1 || a > n || s > ans )
return;
if (a == b) {
ans = min(ans, s);
return ;
}
if (!pd[a + k[a]]) {
pd[a + k[a]] = 1;
dfs(a + k[a], s + 1);
pd[a + k[a]] = 0;
}
if (!pd[a - k[a]]) {
pd[a - k[a]] = 1;
dfs(a - k[a], s + 1);
pd[a - k[a]] = 0;
}
}
int main() {
int a;
cin >> n >> a >> b;
if (a == b) {
cout << 0;
return 0;
}
for (int i = 1; i <= n; i++)
cin >> k[i];
pd[a] = 1;
dfs(a, 0);
if (ans == 999)
cout << -1;
else
cout << ans;
return 0;
}