N = int(input()) a = list(map(int,input().split())) import sys if a[0] > a[-1]: print('No') exit() print('Yes') def calc(l,flag = True): if len(l) == 2: print(l[0]) exit() s = [] if flag: now = l[0] s.append(now) for i in range(1,len(l)-1): if l[i] > now: print(l[i],end = " ") else: s.append(l[i]) now = l[i] s.append(l[-1]) calc(s,False) else: now = l[-1] s.append(now) for i in reversed(range(1,len(l)-1)): if l[i] < now: print(l[i],end = " ") else: s.append(l[i]) now = l[i] s.append(l[0]) calc(s[::-1],True) calc(a,True)