# 和は不変量 # 終了時には全部=和が0にある # そこから逆算すると一意に動きが決まる # ++++0となる最初のゼロのところしか動かせない # 0に和があるところから始めてAになればYes N = int(input()) A = list(map(int, input().split())) sumA = sum(A) counts = [0]*(N+1) counts[0] = sumA #print(counts) ans = 'No' while True: found = False for i in range(0, N+1): if counts[i] != 0: counts[i] -= 1 elif counts[i] == 0: if i == 0: break else: found = True counts[i] = i break #print(counts) if counts == [0]+A: ans = 'Yes' break if found == False: break print(ans)