from collections import defaultdict import copy n = int(input()) Ao = list(map(int,input().split())) A = copy.deepcopy(Ao) A.sort() visited = [0]*n ans = defaultdict(list) visited[0] = 1 ind = 1 for a in A: try: if visited[ind-a]: visited[ind] = 1 ind += 1 ans[a].append(ind-a) else: print("NO") exit() except IndexError: print("NO") exit() print("YES") for a in Ao: print(ans[a].pop())