import sys sys.setrecursionlimit(10 ** 6) n = int(input()) a = list(map(int, input().split())) a2 = [(a[i], i) for i in range(n - 1)] a2.sort(reverse=True) v = [0] * n v[0] = 1 ans = [0] * (n - 1) G = [[] for i in range(n)] for i in range(n - 1): if a[a2[i][1]] + i < n: ans[a2[i][1]] = i + 1 G[i].append(i + a2[i][0]) else: exit(print("NO")) def dfs(now): v[now] = 1 for nex in G[now]: dfs(nex) if all(v for i in range(n)): print("YES") else: print("NO")