N=int(input()) B=list(map(int,input().split())) for i in range(0,N,2): B[i]+=1 pos=[] for i in range(N): if B[i]%2: pos.append(i) for i in range(0,N,2): B[i]-=1 if len(pos)!=(N+1)//2: print("No") exit() adj=[] for i in range(N-1): adj.append(B[i]) B[i+1]-=B[i] add=[0]*N for i in range(0,N,2): add[min(i,pos[i//2])]+=1 add[max(i,pos[i//2])]-=1 for i in range(N-1): adj[i]-=add[i] add[i+1]+=add[i] pm=0 for i in adj: pm=max(pm,i%2) if min(adj)>=0 and pm==0 and B[-1]==0: print("Yes") else: print("No")