N = int(input()) A = list(map(int, input().split())) segments = [] current_segment = [] for num in A: if num == 0: if current_segment: segments.append(current_segment) current_segment = [] else: current_segment.append(num) if current_segment: segments.append(current_segment) valid = True for seg in segments: m = len(seg) if m == 0: continue if seg[0] != 1 or seg[-1] != 1: valid = False break # Check left to right for i in range(1, m): if seg[i] > seg[i-1] + 1: valid = False break if not valid: break # Check right to left for i in range(m-2, -1, -1): if seg[i] > seg[i+1] + 1: valid = False break if not valid: break print("Yes" if valid else "No")