#include <bits/stdc++.h>
using namespace std;
int n,a,b,i,j;
int k[201];
bool flag = false;
void dfs(int i,int a,int c){
if(a>n||a<1){
flag = true;
return;
}
if(a==b){
cout<<c;
return;
}
if(k[i]==0){
return;
}
if(a>b){
dfs(a-k[i],a-k[i],c+1);
}else{
flag=false;
dfs(a+k[i],a+k[i],c+1);
}
}
int main(){
cin>>n>>a>>b;
for(i = 1;i<=n;i++){
cin>>k[i];
}
dfs(a,a,0);
if(flag){
cout<<"-1";
}
return 0;
}