#include<bits/stdc++.h>
using namespace std;
int s,w,a[201],n,ans=0,c[3]={0,1,-1};
bool b[201],q=0;
void dfs(int ,int);
int main()
{
cin>>n>>w>>s;
for(int i=1;i<=n;i++)
cin>>a[i];
dfs(1,w);
if(q==0)cout<<-1;
return 0;
}
void dfs(int k,int m)
{
for(int i=1;i<=2;i++)
if(1<=m+c[i]*a[m] && m+c[i]*a[m]<=n && !b[m+c[i]*a[m]])
{
m+=c[i]*a[m];
b[m]=1;
if(m==s)
{
cout<<k;
q=1;
return ;
}
else dfs(k+1,m);
b[m]=0;
m-=c[i]*a[m];
}
return;
}