vis=[0]*205
com=200
def dfs(now,num):
global com
if num>com:return
if now==b: com=min(num,com)
vis[now]=1
if now+k[now-1]<=n and vis[now+k[now-1]]==0:
dfs(now+k[now-1],num+1)
if now-k[now-1]>=1 and vis[now-k[now-1]]==0:
dfs(now-k[now-1],num+1)
vis[now]=0
n,a,b=map(int,input().split())
k=list(map(int,input().split()))
dfs(a,0)
if com!=200:print(com)
else:print(-1)