import sys input=sys.stdin.readline def I(): return int(input()) def MI(): return map(int, input().split()) def LI(): return list(map(int, input().split())) """ 右側に影響を与えない,左側から見てできるならやるを繰り返す? O(N^2)になりそう 各マスには,右側にある「石のあるます」の数だけ石が増えることになる,それがiで割り切れればOK いや,自分より右のますで2回操作するますがあるかもしれないから違う,右から見て行けばわかるか """ def main(): mod=10**9+7 N=I() A=[0]+LI() for i in range(N+1): if A[i]>i: print("No") exit() flag=1 cnt=0 for i in range(N,0,-1): a=A[i]+cnt if a%i==0: cnt+=a//i else: flag=0 break if flag==1: print("Yes") else: print("No") main()