#include<bits/stdc++.h>
using namespace std;
int a,c,d,end=205;
int m[205];
bool pd[205];
void elevator(int b,int sum)
{
if(b==c) end=min(sum,end);
if(b>end) return ;
pd[b]=1;
if(pd[b+m[b]]==0&&b+m[b]<=c) elevator(b+m[b],sum+1);
if(pd[b+m[b]]==0&&b-m[b]>0) elevator(b-m[b],sum+1);
pd[b]=0;
}
int main()
{
cin>>a>>d>>c;
for(int i=1;i<=a;i++) cin>>m[i];
pd[d]=1;
elevator(d,0);
if(end==205) cout<<"-1";
else cout<<end;
return 0;
}